我有一个附加到我的表单提交按钮的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()
});
答案 0 :(得分:5)
这是你的整个问题......
$("form").submit(function(){
$(".selector").validate({
...
您不需要将.validate()
放在submit
事件处理程序中。该插件已自动捕获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?
}
});
});