首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery验证两次提交表单

问jQuery验证两次提交表单
EN

Stack Overflow用户
提问于 2014-05-16 06:07:50
回答 4查看 4.9K关注 0票数 4

我使用的是jQuery验证器和jQuery 1.8.3。由于某种原因,我的表单被提交了两次,这会导致错误。这是代码:

代码语言:javascript
复制
someNameSpace.myValidateFunction = function(){
    $('#myForm').validate({
        submitHandler: function(){
            mySubmitCallBackFunction();
        },
    });
    return false;
};

someNameSpace.myValidateFunction();
$(document).on('click', '#myFormSubmitButton', function(){
    $('#myForm').submit();
});

你知道为什么这份表格要提交两次吗?表单按钮不是输入提交,而是<button>元素(在本例中需要)。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-05-16 06:11:27

您的表单提交了两次,因为:

  • 你叫$('#myForm').submit()
  • 单击submit按钮,该按钮也会触发表单事件。注意事项:如果它在窗体中,也将在单击时触发窗体事件。

因此,我认为您必须在on方法中添加一个return false,以防止在单击submit按钮时提交表单。现在,只有$('#myForm').submit();将提交以下表单:

代码语言:javascript
复制
someNameSpace.myValidateFunction = function(){
    $('#myForm').validate({
        submitHandler: function(){
            mySubmitCallBackFunction();
        },
    });
    return false;
};

someNameSpace.myValidateFunction();
$(document).on('click', '#myFormSubmitButton', function(){
    $('#myForm').submit();
    return false;
});

我想你也不需要补充这个:

代码语言:javascript
复制
$(document).on('click', '#myFormSubmitButton', function(){
    $('#myForm').submit();
    return false;
});

当表单被提交时,验证方法将被自动调用。

票数 8
EN

Stack Overflow用户

发布于 2014-05-16 06:11:28

不需要添加以下代码

代码语言:javascript
复制
$(document).on('click', '#myFormSubmitButton', function(){
  $('#myForm').submit();
});

submitHandler代码将自动处理表单提交。

票数 2
EN

Stack Overflow用户

发布于 2016-02-28 18:02:19

我有同样的问题:我的目标:用同一个类验证许多表单:

我的php:

代码语言:javascript
复制
form class="js-validate-itemForm" method="post" action="">
...
form class="js-validate-itemForm" method="post" action="">

​

我的js:

代码语言:javascript
复制
$('.js-validate-itemForm').each(function () {
       $(this).validate({
           submitHandler: function (form, event) { 
               doActionOnItemform(form, event);
               return false;
           }
        });
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23693658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档