【问题标题】:Using a clickable div to submit a simple_form in Rails在 Rails 中使用可点击的 div 提交 simple_form
【发布时间】:2014-08-23 05:09:56
【问题描述】:

我有这个 div,我希望能够单击它以在 Rails 4 中提交 simple_form。

<div id="submit-form" class="bottom-nav-box" style="width: 66.6%;">
  <div class="center-wrapper">
    <div style="display: inline-block;">
      <div class="bottom-nav-box-content" style="float: right">
        <%= f.submit 'Submit' %>
      </div> 
    </div>
  </div>  
</div>

我的想法是让“提交表单” div 在单击时提交表单,而不是在中间有一个小按钮,上面写着“提交”。

我正在考虑将整个内容包装在 &lt;%= link_to f.submit do %&gt; 中的方式,但这根本行不通。

有什么办法可以做到吗?

非常感谢任何帮助。谢谢

【问题讨论】:

    标签: javascript html ruby-on-rails simple-form


    【解决方案1】:

    你最好使用 Javascript:

    #app/assets/javascripts/application.js
    $(document).on("click", "#submit-form", function() {
       $("#form").submit();
    });
    

    这里需要注意的是,您需要一个有效的 HTML 表单(如下所示),您可以调用“提交”函数:

    #view
    <%= form_tag your_path do %>
       <%= ... tags ... %>
       <%= submit_tag %>
    <% end %>
    

    --

    你必须记住 Rails 是后端; JS是前端。您不能直接使用 Rails 调用“前端”功能(它与 PHP 完全相同) - 您必须使用 JS 将 DOM 中的事件绑定到您希望在后端调用的任何事件

    您还必须知道,Rails 的主要任务是在前端呈现 HTML。在后端,它将完成所有基于 ruby​​ 的神奇魔法;但前端只呈现 HTML。这意味着您必须确保能够在HTML spec 范围内发送所需的数据/功能

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-26
      • 1970-01-01
      • 1970-01-01
      • 2014-02-27
      • 2014-06-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多