【问题标题】:Bootstrap tab Multiple form submission by using form id in jquery引导选项卡通过在 jquery 中使用表单 id 提交多个表单
【发布时间】:2017-01-16 04:57:37
【问题描述】:

我正在为表单使用引导选项卡。每个选项卡都有表单 ID。我想使用表单 ID 提交表单。我的表单提交工作正常。当我单击选项卡 5 次时,它将向服务器发送 5 次数据。那是我的问题。在加载文档期间未提交第一个选项卡表单
我的 html 代码附在下面: 这是我的代码: http://www.bootply.com/asHAcXeSby

HTML:

<ul class="nav nav-tabs ">
  <li class="active"><a href="#academic" data-toggle="tab" aria-expanded="true"> ABC</a></li>
  <li class=""><a href="#extra" data-toggle="tab" aria-expanded="false"> DEF</a></li>
</ul>
<div class="tab-content">
  <div id="academic" class="tab-pane fade active in">
    <form role="form" method="post" action="" id="academic_dtls">
      <input name="xyz" type="text">
      <input name="submit" value="Save" type="submit">
    </form>
  </div>
  <div id="extra" class="tab-pane">
    <form role="form" method="post" action="" id="extra_dtls">
      <input name="mnz" type="text">
      <input name="submit" value="Save" type="submit">
    </form>
  </div>
</div>

JS:

 $(document).ready(function(){

  var activeTab = null;
  $('a[data-toggle="tab"]').on('show.bs.tab', function (event) {
    activeTab = $(event.target).attr("href");
    submit_form();
  });
  function submit_form(){
    $('form').submit(function(e){
      e.preventDefault();
      //alert($(this).attr('id'));
      var data = $(this).serialize();
      console.log(data); 
  });
  }
});

【问题讨论】:

  • 在此处显示您的代码。
  • Bootply 链接在帖子中

标签: javascript jquery html forms twitter-bootstrap


【解决方案1】:
$(document).ready(function(){

    $('form').submit(function(e){
      e.preventDefault();
      //alert($(this).attr('id'));
      var data = $(this).serialize();
      console.log(data); 
  });

  var activeTab = null;
  $('a[data-toggle="tab"]').on('show.bs.tab', function (event) {
    activeTab = $(event.target).attr("href");
  });

});

【讨论】:

    【解决方案2】:

    检查这个:http://www.bootply.com/fCNm9iQ7t1 你犯的错误是每次标签显示时都绑定提交事件

    $(document).ready(function(){
    
       var activeTab = null;
       $('a[data-toggle="tab"]').on('show.bs.tab', function (event) {
         activeTab = $(event.target).attr("href");
       });
      $('form').submit(function(e){
          var data = $(this).serialize();
          console.log(data); 
      });
    
    });
    

    【讨论】:

    • 它在小提琴上工作正常,但在我的应用程序表单中,如果没有标签初始化,id 就无法工作。首先,我使用与您描述的相同的方法。当它不起作用时,我使用我描述的方法
    • 可能有一些 jquery 冲突。尝试给窗体类,然后调用函数
    • 我在表单中使用了不同的类,但它不起作用。当表单标签在标签之前初始化时,您的方法可以正常工作,但是当表单标签在标签内时,它不起作用
    猜你喜欢
    • 1970-01-01
    • 2015-01-12
    • 2019-08-03
    • 2012-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多