如何在模式之外的表单上完成提交,但是在modal thru rails中提交?

时间:2016-03-08 13:08:19

标签: ruby-on-rails ajax forms bootstrap-modal

所以我有一个表单,点击它时需要有一个免责声明模式。这就像一个很长的免责声明,所以在模式中比在表单页面上做得更好。因此,用户单击窗体上的一个按钮来触发模态。然后从模态中,有#34;提交表格"实际进行提交的按钮。

这是怎么可能的,因为我现在拥有它的方式,单击时提交按钮不执行任何操作。在这种情况下(从模态)是否可以进行正常的表单提交?我可以使用javascript来完成这项工作吗?

由于

<%= form_for [:client, Reportapproval.new], :validate => true do |f| %>
  <div class="actions">
    <%= f.hidden_field :blah, :value => current_client.name %>
  </div>
  <div class="block-inline">
    <label>Blah Blah</label><br>
     <%= f.select :client... %>   
  </div>
  <%= f.text_field :client... %>
    <label>
      <%= f.hidden_field :client... %>
    </label>
  <div class="text-center">
      <button type="button" class="btn btn-success" data-toggle="modal" data-target="#client_disclaimer_modal">
        Request a report from this renter
      </button> <!--- This button opens the modal--->
  </div>

<!-- Disclaimer Modal -->
  <div class="modal fade" id="clent_disclaimer_modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
    <div class="modal-dialog" role="document">
      <div class="modal-content">
        <div class="modal-header">
          <h4 class="modal-title" id="myModalLabel">Client Disclaimer Agreement</h4>
        </div>
        <div class="modal-body">
          <strong>NOTICE...<br>
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
          <%= f.submit "Agree & Submit", class: 'btn btn-default' %>
        </div>
      </div>
    </div>
  </div>
</div> 
<br /> 
<% end %>

3 个答案:

答案 0 :(得分:2)

只要<button type='submit'>位于<form>,您上面提到的代码就可以完美运行。确保JS控制模态的任何东西都不会将模态标记移动到DOM中的不同位置(即将其移动为body标记的直接后代)。

答案 1 :(得分:0)

我也花了很多时间解决这个问题:

这是我的工作方式

根据官方Rails Guides,您可以使用:data选项使用自定义数据属性:

<%= form.submit  'Submit Application', data: { confirm: "Are you sure?" } %>

仅此而已。

我希望这会有所帮助

答案 2 :(得分:-1)

您的代码中只有一个错字。 :)

将“ clent_disclaimer_modal”更改为“ client_disclaimer_modal”。验证此更新是否能按预期完成所有工作。