繁体   English   中英

jQuery验证?

[英]Jquery Validation?

嗨,我在用PHP循环一些字段。

$number = 5;
for ($i = 1; $i <= $number ; $i++) {
name : <input name="name[]" type="text" class="required"  title="Name Surname Please"/>
}

我正在使用jquery验证来控制字段,

$("#form").validate({
        errorLabelContainer: $("#form div.error")
    });

但它仅验证循环的第一个字段。 仅在单击其他字段后,插件才能工作。

有人可以帮忙或解释一下吗

剧本:

<form action="" method="post" id="form" name="form">
  <table width="100%" border="0" cellspacing="5" cellpadding="0">
    <?php  for ($i = 1; $i <= 5; $i++) {?>
    <tr>
      <td>name :
        <input name="name[]" type="text" class="required"  title="Name Surname Please"/></td>
    </tr>
    <?php }?>
  </table>
  <input name="submit-form" type="submit" value="submit"/>
</form>
<script src="/jquery.validate.js" type="text/javascript" charset="utf-8"></script> 
<script type="text/javascript">

$().ready(function() {
    $("#form").validate({
        errorLabelContainer: $("#form div.error")
    });


});
</script>

我认为问题与您的name属性有关。 jQuery validate通过在DOM中搜索name属性来查找将错误置于哪个字段,并将错误与名称匹配。 由于所有输入都具有相同的名称name[]因此可能只是找到第一个并将错误放在那里。

尝试像这样使您的名字唯一:

<form action="" method="post" id="form" name="form">
  <table width="100%" border="0" cellspacing="5" cellpadding="0">
    <?php  for ($i = 1; $i <= 5; $i++) {?>
    <tr>
      <td>name :
        <input name="name[<?php echo $i; ?>]" type="text" class="required"  title="Name Surname Please"/></td>
    </tr>
    <?php }?>
  </table>
  <input name="submit-form" type="submit" value="submit"/>
</form>
<script src="/jquery.validate.js" type="text/javascript" charset="utf-8"></script> 
<script type="text/javascript">

$().ready(function() {
    $("#form").validate({
        errorLabelContainer: $("#form div.error")
    });


});
</script>

我不了解PHP,因此如何将索引注入name属性值的语法可能不正确。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM