首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery form.submit()触发处理程序,但不触发实际提交

jquery form.submit()触发处理程序,但不触发实际提交
EN

Stack Overflow用户
提问于 2014-03-05 05:26:18
回答 4查看 870关注 0票数 0

我有一个带有提交按钮和处理程序的表单。处理程序进行一些验证,如果验证不酷,则执行preventDefault()。

我有第二个按钮在我的表格上提交未经验证。我的思维逻辑是:这个按钮将添加一个类指示,而不是验证,然后触发提交。submit事件将始终检查它是否应该验证。

一些代码:

代码语言:javascript
复制
    //Add handler for no-validation submit
    $('#button-no-falco').click(function() {
        $('#form').addClass('no-falco');
        $('#form').submit();
    });


    $('#form').submit(function(e) {
        //If form has no-falco, don't validate.
        if ($(this).hasClass('no-falco')) {
            console.log("Skipping validation. Just submit.");
            return;
        }

        //Validation code

        e.preventDefault();


    });

一些HTML:

代码语言:javascript
复制
<form role="form" method="post" action="{{action_url}}" name="edit-object">
    <!-- bunch of inputs -->
    <button type="submit" id="submit" class="btn btn-default">Save!</button>
    <button type="button" id="button-no-falco" class="btn btn-default">No validation</button>
</form>

因此,现在点击按钮-无法尔科按钮将导致整个验证被跳过,甚至有日志消息出现。然而,没有提交实际的表格。

如果我单击常规提交按钮(单击另一个按钮后),表单就会提交。

到底怎么回事?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-03-05 05:31:56

将按钮id从submit更改为其他内容

代码语言:javascript
复制
<button type="submit" class="btn btn-default">Save!</button>
<button type="button" id="button-no-falco" class="btn btn-default">No validation</button>

演示:小提琴与id提交

它重写表单方法submit,导致.submit()调用失败。

票数 2
EN

Stack Overflow用户

发布于 2014-03-05 05:34:59

试着添加:

代码语言:javascript
复制
var form=$('form');
票数 0
EN

Stack Overflow用户

发布于 2014-03-05 05:44:31

试试看

代码语言:javascript
复制
$('.btn-default').click(function() {
  if($(this).attr('id') == 'button-no-falco') {
    $('#form').submit();
  } else {
   // add code for validation and if validation returns true then submit form
  }

});

把这个去掉,

代码语言:javascript
复制
$('#form').submit(function(e) {
        //If form has no-falco, don't validate.
        if ($(this).hasClass('no-falco')) {
            console.log("Skipping validation. Just submit.");
            return;
        }

        //Validation code

        e.preventDefault();


    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22189303

复制
相关文章

相似问题

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