[英]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.