Javascript Jquery验证检查输入中的单词是否与数组中的单词相同
好的,我有一个javascript变量,其中包含来自不同游戏名称的冠军数组等等,我想检查用户是否输入了这些名称中的任何一个,这是必须的,所以你不能把你想要提交的任何东西放到表单中,它必须是来自数组的冠军之一 这里是一个较小的数组,以避免垃圾邮件Javascript Jquery验证检查输入中的单词是否与数组中的单词相同,javascript,jquery,validation,Javascript,Jquery,Validation,好的,我有一个javascript变量,其中包含来自不同游戏名称的冠军数组等等,我想检查用户是否输入了这些名称中的任何一个,这是必须的,所以你不能把你想要提交的任何东西放到表单中,它必须是来自数组的冠军之一 这里是一个较小的数组,以避免垃圾邮件 var champions = [ "Aatrox", "Ahri", "Akali" ]; 以下是表格: case 2: $formid = $_POST['formid']; $fo
var champions = [
"Aatrox", "Ahri", "Akali"
];
以下是表格:
case 2:
$formid = $_POST['formid'];
$formid += 1;
$champ_number = $_POST['champ_number'];
echo '<form id="second_form" action="#" method="POST" style="margin: 0;" >';
echo '<input type="hidden" value="'.$formid.'" name="formid">';
echo '<input type="hidden" value="'.$champ_number.'" name="champ_number">';
echo '<input type="hidden" name="patch" value="'.$_POST['patch'].'">';
echo '<h1>Champion names:</h1>';
for($i=1;$champ_number>=$i;$i++){
if($i==1&&$champ_number!=1){
echo '<input class="champion" type="text" placeholder="Champion '.$i.'"name="champno'.$i.'" required autofocus><br/>';
}
elseif($champ_number!=$i){
echo '<input class="champion" type="text" placeholder="Champion '.$i.'"name="champno'.$i.'" required><br/>';
}
elseif($champ_number==1){
echo '<input class="champion" type="text" placeholder="Champion '.$i.'"name="champno'.$i.'" required autofocus>';
}
else{
echo '<input class="champion" type="text" name="champno'.$i.'" placeholder="Champion '.$i.'" required>';
}
}
echo '<br/><input type="submit" value="next">';
echo '</form>';
break;
案例2:
$formid=$_POST['formid'];
$formid+=1;
$champ_number=$_POST['champ_number'];
回声';
回声';
回声';
回声';
呼应“冠军姓名:”;
对于($i=1;$champ_number>=$i;$i++){
如果($i==1&&$champ_编号!=1){
回声“
”;
}
elseif($champ_编号!=$i){
回声“
”;
}
elseif($champ_编号==1){
回声';
}
否则{
回声';
}
}
回声“
”;
回声';
打破
下面是它现在的样子:
在这些建议下,有一个“下一步”按钮,我不希望用户在没有输入champion的确切名称或选择一个“使用”的情况下能够更进一步
您可以检查数组中是否存在具有的元素 更新:这将检查多个输入,并返回它们是否都存在于数组中
var-champions=[“一”、“二”、“三”];
//有些输入在Champion中不存在
变量输入=[“四”、“二”、“一”];
var allFound=inputs.every(函数(i){
返回冠军。指数(i)>-1;
});
console.log(allFound)//错误的
//所有输入现在都存在于champions中
变量输入=[“两个”,“一个”];
var allFound=inputs.every(函数(i){
返回冠军。指数(i)>-1;
});
console.log(allFound)//true
要使用验证插件吗?我在这里看不到关于jQuery验证插件的任何信息。您甚至还没有显示任何jQuery或JavaScript代码。移除标签。如果你想在这些事情上得到帮助,你必须展示你正在做什么以及你已经尝试了什么。由于您询问的是JavaScript,所以重要的是浏览器看到的呈现HTML标记,而不是PHP。谢谢。我还在努力实现它。它不会检查是否只有一个输入,另一件事是,当我有那些工具提示帮助你获得正确的冠军名称时,如果你点击它,它将不接受它,你需要自己键入它。我想现在它有点专业化了——我的脚本查看那里的输入并验证它们。您可以使用另一个脚本为多个冠军添加/删除输入,然后将其提供给我的脚本:)。如果单击不接受的工具提示,这是什么意思?这些是浏览器提供的验证错误工具提示-我认为它们没有显示消息的更多功能。是的,对不起,我对javascript越来越困惑了。当我开始为ex.K输入时,它会显示Kalista Karma等。所以你不必全部输入,你只需要选择一个,当你这样做时,验证将不会接受它,如果我在没有点击工具提示的情况下输入同一个冠军的名字,它将起作用,这真的很奇怪。啊,你使用的是jQuery自动完成库吗,或者您正在使用浏览器输入建议?如果我在input.Jquery autocomplete中使用一个datalist
,对我来说似乎工作得很好,这可能就是为什么要在javascript中使用具有相同变量的datalist?既然你们有100多位冠军,我以后就不会更新这两份名单了?
if ($.inArray("inputValue", champions) !== -1) {
//entered value is in the array
}