在使用bootstrapValidator时,没有在form中进行action跳转,而是用ajax跳转,然后就出现两次提交的bug,登录时候bug没有影响,但是注册的时候就遇到问题了。form申明如下:
<form role="form" method="post" class="validation-form" id="loginform">
ajax提交方式如下:
$("#loginform").submit(function() {
var dd = $("#loginform").serialize();
$.ajax({
url : "userRegister.do",
type : "post",
data : dd,
success : function(loginres) {
if (loginres.res) {
alert(loginres.msg);
} else {
$("#lgmsg").html(loginres.msg);
}
}
});
return false;
});
我的解决方法:在$('form').bootstrapValidator({});
后面加上:$("form.validation-form").each(function() {
var $form = $(this);
$form.bootstrapValidator().on('success.form.bv', function(e) {
// 阻止默认事件提交
e.preventDefault();
});
});
然后在验证通过的时候只提交一次了