在添加jqueryvalidation插件后,为什么我的表单开始要求双击提交? 我该如何改变它?
我有一个附加到我的表单提交按钮的submit()事件,在我开始使用jqueryvalidation插件之前,我可以一键提交此表单。 现在由于某种原因需要再次点击。 如何让它回到单击?
$("form").submit(function(){ $(".selector").validate({ rules: { performance : { required: true //customvalidation: true }, location : { required: true //customvalidation: true }, date : { required: true //customvalidation: true } }, messages: { performance : { required: "enter a show name" //customvalidation: true }, location : { required: "enter a location" //customvalidation: true }, date : { required: "pick a date" //customvalidation: true } } return false; }); //closes submit() });
这是你的整个问题……
$("form").submit(function(){ $(".selector").validate({ ...
您不需要在submit
事件处理程序中放置.validate()
。 该插件已自动捕获submit
事件。 .validate()
方法是表单上插件的初始化方法; 它只会附加到form
元素,然后只在DOM就绪时调用一次 。 (您现在需要双击,因为只需要第一次单击即可初始化插件。)
只是这样做……
$(document).ready(function() { ("#yourform").validate({ // options & rules }); });
简单的演示 : http : //jsfiddle.net/x6Ckg/
如果由于某种原因,您需要在submit
事件上运行其他代码,则可以使用插件提供的submitHandler
回调函数。
$(document).ready(function() { ("#yourform").validate({ //options & rules, submitHandler: function (form) { // stuff to do when form is valid // ajax, etc? } }); });