我的问题是使用 Jquery 验证我的表单。我的验证validate
仅适用于该功能,但随后我添加了该submit
选项并且验证未进行。我想验证我的表单,然后执行提交。
$(document).ready(function () {
$('#ReqCreateForm').validate({
invalidHandler: function (e, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
var message = errors == 1
? 'Missing 1 field'
: 'Missing fields';
$("div.error span").html(message);
$("div.error").show();
} else {
$("div.error").hide();
}
},
onkeyup: false,
highlight: function (element) {
$(element).addClass('error');
}, unhighlight: function (element) {
$(element).removeClass('error');
}
});
$('#ReqCreateForm').submit(function () {
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function (result) {
alert("All Great!");
},
error: function (jqXhr, textStatus, errorThrown) {
alert("Error '" + jqXhr.status + "' (textStatus: '" + textStatus + "', errorThrown: '" + errorThrown + "')");
}
});
return false;
});
});
提前致谢。
解决方案:
解决方案非常简单。在我的提交选项中添加了以下代码,之前$.ajax
。
if (!$(this).valid()) {
return false;
}