我正在使用优秀的jQuery Validation插件 - http://jqueryvalidation.org/并需要使用类来验证表单。
事情是页面上可能有多个表单,并且它们将具有相同的类。当我尝试提交一个表单时,插件会验证两个表单而不仅仅是提交的表单。
有谁知道这方面的工作?我尝试在每个表单中添加一个随机生成的ID并在提交事件中抓取它,但是当我尝试时,验证插件会无声地失败。
干杯!
更新
//validate and submit form
jQuery('.js-booking-form').validate({
submitHandler: function(form) {
//Submit Booking Request via AJAX
}
});
和示例HTML两种形式几乎完全相同,因此这里缩短了版本:
<form class="js-nudge-booking-form nudge-vertical-booking-form" data-ajaxurl="http://localhost/site/ajax/">
<input type="text" placeholder="Name" name="client-name">
<input type="email" placeholder="Email" name="email">
<input type="submit" value="Submit">
</form>
答案 0 :(得分:1)
对它进行排序 - 使用每个循环表单并引用表单以通过“this”关键字进行验证。
在这里找到解决方案:http://www.ozonesolutions.com/programming/2012/02/jquery-validation-plugin-with-multiple-forms/我无法弄清楚它为什么会起作用,因为我认为它会告诉插件验证每个表单。
答案 1 :(得分:0)
我不太明白为什么你必须使用类名来验证。一个快速而简单的解决方案是为每个表单分别使用ID,并通过ID
引用表单<form id="form1" class="yourclass">...</form>
<form id="form2" class="yourclass">...</form>
验证特定表格:
$('#form1').validate({...});
通过按类引用表单,您将始终返回2个表单对象,因为两个表单具有相同的类名。因此,你目前的困境。现在你可以绕过它,但这将涉及修改jquery.validate代码本身或验证处理程序。