我的表单提交按钮附带了一个submit()事件,在我开始使用jquery验证插件之前,我可以一键提交此表单。现在由于某种原因,它需要第二次点击。如何使其返回到单击?
$("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({
...
您不需要将.validate()
放入submit
事件处理程序中。插件已自动捕获submit
事件。.validate()
方法是表单上插件的初始化方法;它只附加到form
元素,然后只在DOM ready上调用一次。(你现在需要双击,因为第一次点击只是为了初始化插件。)
就这样吧。。。
$(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?
}
});
});