Javascript 验证表单以防止表单提交
我正在使用asp.NETMVC5并尝试在提交时验证表单。在我添加以下代码行以使用ajax调用验证表单之前,一切都正常Javascript 验证表单以防止表单提交,javascript,jquery,ajax,forms,jquery-validate,Javascript,Jquery,Ajax,Forms,Jquery Validate,我正在使用asp.NETMVC5并尝试在提交时验证表单。在我添加以下代码行以使用ajax调用验证表单之前,一切都正常 $('#signupform').validate({ submitHandler: function (form) { $.ajax({ type: 'POST', data: JSON.stringify({ type: "WhatsNew", code: $('#Prim
$('#signupform').validate({
submitHandler: function (form) {
$.ajax({
type: 'POST',
data: JSON.stringify({ type: "WhatsNew", code: $('#PrimaryCode').val() }),
url: '@Url.Action("CheckCode", "Home")',
dataType: 'json',
contentType: 'application/json'
})
.done(function (response) {
if (response == 'success') {
alert('success');
}
else {
alert('failed');
}
});
return false; // required to block normal submit since you used ajax
}
});
上面的代码只是阻止表单的提交 您通过
返回false阻止提交代码>,以便ajax验证表单,但表单在成功验证后不会提交
在.done()中添加表单提交触发器
可能的走查:
- 在提交表单之前,在.done()内;确保从表单中删除/取消绑定验证
- 请点击此链接:
我试着放置$('signupform').submit();在成功块内部,但仍然没有表单提交。您是否使用不引人注目的验证
脚本?如果是这样,它已经调用了.validate()
方法,因此您不能再次调用它。。。它只是被忽略了。
if (response == 'success') {
// since validation is success, submit form here (e.g. YourForm.submit())
}