Rails 4:如何允许用户使用回车键提交表单,无需提交按钮

时间:2015-10-08 23:58:19

标签: ruby-on-rails forms ruby-on-rails-4

我有一个Rails 4,它使用Rails的默认表单(我不使用简单表单)。

- - - -

编辑:虽然目标非常相似(允许用户通过按Enter键而不是按下提交按钮来提交表单),但我的问题与Form submitting when pressing enter in Textarea不同,因为它与Rails表单有关,它们具有特定的行为,并且与常规jQuery表单的工作方式不同。

- - - -

我的一个表单允许用户创建评论:

<%= form_for([post, post.comments.build]) do |f| %>
  <p>
    <%= f.text_area :body, :placeholder => "New comment", size: "15x1" %><%= f.submit id: 'create_comment'%>
  </p>
<% end %>

我想摆脱<%= f.submit id: 'create_comment'%>部分并允许用户只需按回车键即可提交新评论。

如何实现这一目标?

1 个答案:

答案 0 :(得分:8)

如果您使用f.text_field而不是text_area,则默认情况下应在输入时提交表单。

如果你需要使用textarea,那么它必须是javascript。类似的东西:

$('#id_of_textarea').keypress(function(e){
      if(e.which == 13){
           $(this).closest('form').submit();
       }
    });