简单的例子:
<%= form_for :post, url: posts_path do |f|%>
<p>
<%= f.label :title%><br/>
<%= f.text_field :title%>
</p>
<p>
<%= f.label :text%><br/>
<%= f.text_area :text%>
</p>
<p>
<%= f.submit%>
</p>
<%end%>
字符串
我认为这是Rails的默认事件处理。在这里,如果用户按回车键,它将提交params
。
但在我的情况下,我必须使用另一个事件的回车键。
我必须通过按回车键使用另一个输入字段搜索users
。
但是如果我使用form_for
,它会提交表单。:(
如何在rails
中阻止使用回车键提交?
我必须使用纯html标签吗?像<form> tag
和<submit> button
?
有什么好的解决办法吗?
3条答案
按热度按时间np8igboo1#
回车键提交不是rails的问题,而是HTML / JS的问题
Rails是后端(存在于服务器上); HTML / JS是客户端(存在于浏览器中)-它们决定启用/禁用哪些功能
我会像这样解决你的问题:
字符串
如果您使用Turbolinks:
型
良好的参考:How to prevent ENTER keypress to submit a web form?
9njqaruj2#
这不是一个Rails特有的问题,因为它是所有浏览器的原生行为。如果你在表单中有一个提交按钮(你应该:)),那么每个浏览器都会在点击回车后提交表单。* 我还没有检查,但即使没有一个明确的提交按钮,它也应该这样做]接受的答案是正确的,但因为有一个线程给出了一个更复杂的例子,我也会通过它:
Prevent users from submitting a form by hitting Enter
bfnvny8b3#
字符串