我使用的是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>元素(在本例中需要)。
发布于 2014-05-16 06:11:27
您的表单提交了两次,因为:
$('#myForm').submit()因此,我认为您必须在on方法中添加一个return false,以防止在单击submit按钮时提交表单。现在,只有$('#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;
});当表单被提交时,验证方法将被自动调用。
发布于 2014-05-16 06:11:28
不需要添加以下代码
$(document).on('click', '#myFormSubmitButton', function(){
$('#myForm').submit();
});submitHandler代码将自动处理表单提交。
发布于 2016-02-28 18:02:19
我有同样的问题:我的目标:用同一个类验证许多表单:
我的php:
form class="js-validate-itemForm" method="post" action="">
...
form class="js-validate-itemForm" method="post" action="">
我的js:
$('.js-validate-itemForm').each(function () {
$(this).validate({
submitHandler: function (form, event) {
doActionOnItemform(form, event);
return false;
}
});
});https://stackoverflow.com/questions/23693658
复制相似问题