所以我有一个表单,我在使用jquery-form-validator插件提交之前验证它!success
但是这里的问题是,当它一步一步进行时,写的几行没有得到执行。但是,如果在中执行console
或使用执行debugger
,它们可以正常工作。真的是一种诡异的行为!!有什么解决方法可以解决这个问题吗?
JS
$.validate({
form:'#contact-form',
onError: function () {
toastr.error("Please correct the below errors!", "Error");
return false;
},
onSuccess: function () {
$("#btnContactUs").button('loading'); //Not getting called
$('.form-contact form').find('input,textarea').attr('readonly', true).addClass('disabled'); //Not getting called
var formdata = new FormData($('.form-contact form').get(0));
$.ajax({
url: $("#contact-form").attr('action'),
type: 'POST',
data: formdata,
processData: false,
contentType: false,
success:function(data)
{
if(data.result)
{
toastr.success(data.message, "Success");
$('.form-contact form').get(0).reset();//Check this
}
else
{
toastr.error(data.message, "Error");
}
},
error:function(data)
{
toastr.error(data.message, "Error");
}
});
$("#btnContactUs").button('reset');
$('.form-contact form').find('input,textarea').attr('readonly', false).removeClass('disabled');
return false; // Will stop the submission of the form
}
});
验证成功后,它通过 ajax 调用 Controller 方法,但不执行前 2 行。
更新:按钮#btnContactUs
是一个引导按钮,具有.button
显示加载文本的功能。