我正在使用 jQuery 验证器和 jQuery 1.8.3。由于某种原因,我的表单被提交了两次,这会导致错误。这是代码:
someNameSpace.myValidateFunction = function(){
$('#myForm').validate({
submitHandler: function(){
mySubmitCallBackFunction();
},
});
return false;
};
someNameSpace.myValidateFunction();
$(document).on('click', '#myFormSubmitButton', function(){
$('#myForm').submit();
});
知道为什么表单要提交两次吗?表单按钮不是输入提交而是 <button>
元素(在本例中需要)。
最佳答案
您的表单被提交了两次,因为:
- 您调用
$('#myForm').submit()
- 您单击提交按钮,这也会触发表单事件。 注意 :如果在表单中,点击时也会触发表单事件
所以我认为您必须在单击方法中添加一个return false
,以防止在您单击提交按钮时提交表单。现在,只有 $('#myForm').submit();
会提交表单:
someNameSpace.myValidateFunction = function(){
$('#myForm').validate({
submitHandler: function(){
mySubmitCallBackFunction();
},
});
return false;
};
someNameSpace.myValidateFunction();
$(document).on('click', '#myFormSubmitButton', function(){
$('#myForm').submit();
return false;
});
我想你也不需要添加这个:
$(document).on('click', '#myFormSubmitButton', function(){
$('#myForm').submit();
return false;
});
提交表单时将自动调用验证方法。
关于javascript - jQuery 验证提交表单两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23693658/