您试过
event.preventDefault();
刚刚提交点击后? http://api.jquery.com/event.preventDefault/
现在关于你的大问题。我认为你可以做到这一切与jQuery 这里是一个例子
$(document).ready(function() {
//form validation rules, including custom rules you'd like
$("#form").validate({
rules: {
fieldOne: { required: true },
fieldTwo: { required: function() { /*custom validation*/return true; } }
},
messages: {
fieldOne: { required: "error" },
fieldTwo: { required: "error" }
}
});
//handle submit click
$("#btnSubmit").click(function (event) {
event.preventDefault(); //stops form from submitting immediately
if ($("#form").valid()) { //perform validation
//submit your data if valid
$.post("/your/action", $form.serialize(), function (data) {
//do something with the result
});
}
});
});
UPDATE: 因此,也许你应该这样做,当你添加的验证处理程序的形式,你可以实现submitHandler和invalidHandler。 现在你真的应该看的是invalidHandler
$(document).ready(function(){
$("#form").validate({
rules : {
field : {required : true}
},
messages : {
field : {required : ""}
},
submitHandler: function(form) {
form.submit(); //if all is good
},
invalidHandler: function(form, validator){
console.log(validator.errorList); //if something went wrong
}
});
这个函数接收这反过来具有包含失败的所有字段(和消息)的errorList验证。 例如,使用chrome的开发人员工具测试此代码,然后您将看到errorList中的内容。
感谢您的提示。我已经提出了我的问题,因为封闭部分仍在困扰着我。 –
@PeterSmith看看是否适合你 – coffeeyesplease