Bootstrap模式没有关闭表单提交 - Rails

set*_*ine 3 javascript ruby-on-rails twitter-bootstrap

我认为我有这种模式:

<div class="modal fade" id="addListItem" tableindex="-1" role="dialog" aria-labelledby="addListItem" aria-hidden="true">
  ......
  ......
      <div class="modal-body">
         <%= form_for @list_item, :remote => true, :html => {:id => "addForm"} do |f| %>
             <%= f.hidden_field :upc, :value => @item.upc %>
             <%= f.hidden_field :inventory_item_id, :id => "inventoryID", :value => "" %>
             <%= f.submit("Add It!", class: "btn", :id => "addSubmit") %>
         <% end %>
      </div>
  ......
  ......
</div>
Run Code Online (Sandbox Code Playgroud)

因为表单是远程的,我希望这个模式隐藏在表单提交上.我是这样做的:

$('#addForm').submit(function() {
    $('#addListItem').modal('hide');
});
Run Code Online (Sandbox Code Playgroud)

目前正在发生的事情令我感到困惑.当我点击提交时,表单会远程提交并且模态保持打开状态.当我第二次点击提交按钮时,表单再次提交,模式隐藏.为什么这个模态不会隐藏在第一次提交中?提前致谢!

mia*_*bdu 9

我之前遇到过类似的问题,我解决这个问题的方法是在提交按钮中添加一个click事件:

$('#addSubmit').click ->
   $('#addListItem').modal('hide');
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!