Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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 - Fatal编程技术网

Javascript 使用jquery验证多个同名字段

Javascript 使用jquery验证多个同名字段,javascript,jquery,Javascript,Jquery,我试图让jquery验证在多个字段上工作。原因是我添加了动态生成的字段,它们只是一个电话号码列表,从零到所需的数量不等。一个按钮增加另一个数字 因此,我想我已经总结了一个基本的例子,并遵循以下链接中公认答案的概念: 然而,它没有做任何有用的事情。为什么它不起作用 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/lo

我试图让jquery验证在多个字段上工作。原因是我添加了动态生成的字段,它们只是一个电话号码列表,从零到所需的数量不等。一个按钮增加另一个数字

因此,我想我已经总结了一个基本的例子,并遵循以下链接中公认答案的概念:

然而,它没有做任何有用的事情。为什么它不起作用

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/lib/jquery.delegate.js"></script>
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>


<script>
  $("#submit").click(function(){
    $("field").each(function(){
      $(this).rules("add", {
        required: true,
        email: true,
        messages: {
          required: "Specify a valid email"
        }
      });   
    })
  });


  $(document).ready(function(){
    $("#myform").validate();
  });
</script>

</head>
<body>

<form id="myform">
  <label for="field">Required, email: </label>
  <input class="left" id="field" name="field" />
  <input class="left" id="field" name="field" />
  <input class="left" id="field" name="field" />
  <input class="left" id="field" name="field" />
  <br/>
  <input type="submit" value="Validate!" id="submit" name="submit" />
</form>

</body>
</html>

$(“#提交”)。单击(函数(){
$(“字段”)。每个(函数(){
$(此).rules(“添加”{
要求:正确,
电子邮件:是的,
信息:{
必需:“指定有效的电子邮件”
}
});   
})
});
$(文档).ready(函数(){
$(“#myform”).validate();
});
必填项,电子邮件:

此:
$(“字段”)。每个(函数(){

应该是:
$(“[name=field]”)。每个(function(){

此外,您的ID应该是唯一的,否则会出现不可预测的行为。此外,您应该将规则添加移动到
文档中。ready
,如下所示(这是您的全部脚本):


您的解决方案对我来说就是这样选择输入的:$(“[name^=foo][name$=bar]”。每个(function()。都会选择名称属性以“foo”开头,以“bar”结尾的输入,例如“foo_bar”,但它与“foobar”不起作用…)@user248959-对于
name=“foobar”
来说,它应该也可以正常工作(因为它符合标准),您可以在这里测试它:@NickCraver,但它会验证我的第一个文本框only@PratikJoshi您是否有单独表单中的文本框,所有文本框都具有相同的ID?这将有此行为,但无效HTML-ID应该是唯一的。对于此结构,我尝试过,但没有成功=>
$(function(){
  $("#myform").validate();
  $("[name=field]").each(function(){
     $(this).rules("add", {
       required: true,
       email: true,
       messages: {
         required: "Specify a valid email"
       }
     });   
   });
});