Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery验证检查输入中的单词是否与数组中的单词相同_Javascript_Jquery_Validation - Fatal编程技术网

Javascript Jquery验证检查输入中的单词是否与数组中的单词相同

Javascript Jquery验证检查输入中的单词是否与数组中的单词相同,javascript,jquery,validation,Javascript,Jquery,Validation,好的,我有一个javascript变量,其中包含来自不同游戏名称的冠军数组等等,我想检查用户是否输入了这些名称中的任何一个,这是必须的,所以你不能把你想要提交的任何东西放到表单中,它必须是来自数组的冠军之一 这里是一个较小的数组,以避免垃圾邮件 var champions = [ "Aatrox", "Ahri", "Akali" ]; 以下是表格: case 2: $formid = $_POST['formid']; $fo

好的,我有一个javascript变量,其中包含来自不同游戏名称的冠军数组等等,我想检查用户是否输入了这些名称中的任何一个,这是必须的,所以你不能把你想要提交的任何东西放到表单中,它必须是来自数组的冠军之一

这里是一个较小的数组,以避免垃圾邮件

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
}