jquery - 单击 form_for 中的 HTML 按钮时防止自动刷新

标签 jquery ruby-on-rails datatables form-for page-refresh

我将 Rails form_for 助手与数据表混合在一起,该数据表在 form_for 之外使用它自己的 HTML 编码按钮来选择和取消选择记录。但是,如果我单击数据表顶部的“全选”按钮,页面会自动刷新,并且表中的所有选择都将丢失:

    <%= f.label :call_order %>
    <%= f.check_box :call_order %>

    **Datatables implementation**
    <button id="selectAllRestaurantsForCampaign">Select All</button>
    <button id="deSelectAllRestaurantsForCampaign">Deselect All</button>
    <table id="restaurantsForCampaign" class="display" cellspacing="0" width="100%">
         <... Table Code ...>
    </table> 

    <hr>
    <strong>Campaign Active</strong>

    **Final attribute in form_for**
    <%= f.check_box :is_active %>
    <br>

    <%= f.submit "Save changes", class: "btn btn-large btn-primary" %>

我想阻止页面刷新,直到用户单击页面底部的 form_for 提交按钮:

<%= f.submit "Save changes", class: "btn btn-large btn-primary" %>

当前用于“取消选择”和“全选”按钮的 CoffeeScript 是:

 # Conditional 'Select All' (works)
  $("#selectAllRestaurantsForCampaign").click ->
    table.$('tr', {"filter":"applied"}).addClass "selected"

  # Deselecting all (works)
   $("#deSelectAllRestaurantsForCampaign").click ->
    table.$("tr").removeClass "selected"

如何防止页面刷新,直到单击“提交”?

最佳答案

如果我只有标签 <button></button>那么它实际上充当提交从而刷新页面。

我应该做的是将其设置为 <button type="button"></button>这样页面就不会刷新,但仍然允许功能和动态内容与按钮提交一起使用

关于jquery - 单击 form_for 中的 HTML 按钮时防止自动刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26694001/

相关文章:

javascript - 带有 XML 负载的 Jquery POST 调用

javascript - 自动延迟幻灯片 Jquery 和 HTML 脚本

javascript - 为什么我无法显示 "person name :"?

mysql - 如何将 "select multiple"字段中的每个项目保存在其自己的 MySQL 记录中(使用 Rails)?

ruby-on-rails - 预编译 Rails 5 以包含所有 Assets

javascript - (2)js数据表如何设置小数值

javascript - 无法更改数据表标题

jquery - jPlayer - 简化多个实例的功能

javascript - 在 jQuery 中检索 DataTable 行的单个单元格数据

ruby-on-rails - 从内存存储更改为 memcached 存储时,Rails.cache 抛出 "marshal dump"错误