我目前在一个网页上使用了两个相同的联系人表单。每个页面上都有一个--在横幅中,另一个版本在联系人页面本身的主要部分。这是我用来验证它的方法:
$(".contactform").each(function() {
$(this).validate();
});
但是,当我在两个表单中的任何一个上单击submit时,另一个表单(未使用的表单)返回并显示错误。我不希望这个人必须填写这两个(因为它们是完全相同的表格),并对从这里到哪里有点困惑。
发布于 2012-08-22 15:47:06
根据xnnyygn的回答,我最终做的是按id添加单独的.validate规则,当按类或表单添加时,这将不起作用,并显示第一个选择错误结果。
$("#contactform1").validate({
rules: {
field: {
required: true
}
}
});
$("#contactform2").validate({
rules: {
field: {
required: true
}
}
});
$(document).ready(function(){
$("#contactform1").validate();
$("#contactform2").validate();
});
在这里,我最终使用了两个I而不是类或表单选择器。否则将不起作用。学到的教训是,对于jquery.validator,您必须使用ids。
发布于 2012-08-22 08:14:38
这是我的test HTML,来自http://docs.jquery.com/Plugins/Validation#source,添加了一个具有相同类的重复表单。
我尝试直接调用validated,但是当我按下第二个submit按钮时,第一个表单被验证了。但是,单独调用validate效果很好。
验证器“跳转”到另一个表单的原因可能是jquery验证器只接受第一个元素(表单)并应用规则。有关更多详细信息,请参阅源代码。
发布于 2012-08-22 07:40:23
不确定它是否解决了这个问题,但您不应该显式地使用'.each()‘。只需写下:
$(".contactform").validate();
https://stackoverflow.com/questions/12068129
复制相似问题