使用可点击的div在Rails中提交simple_form

时间:2014-08-23 05:09:57

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

我已经得到了这个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>

我的想法是,我希望得到&#34;提交表格&#34; div点击时提交表单,而不是在其中间有一个小按钮,提示&#39;提交&#39;。

我正在考虑将<%= link_to f.submit do %>中的整个内容包裹起来,但这根本不起作用。

我有什么方法可以做到这一点吗?

非常感谢任何帮助。感谢

1 个答案:

答案 0 :(得分:0)

您最好使用Javascript:

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

这里需要注意的是,您需要一个有效的HTML表单(如下所示),您可以调用&#34;提交&#34;功能:

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

-

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

你还必须意识到Rails&#39;主要任务是在前端呈现HTML。在后端,它将完成所有令人惊叹的基于红宝石的魔法;但前端只呈现HTML。这意味着您必须确保您能够在HTML spec

的范围内发送所需的数据/功能