简单的例子:
<%= 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
.
但就我而言,我必须使用 Enter 键来执行另一个事件。
我必须搜索users
按 Enter 键即可使用另一个输入字段。
但是如果我使用 form_for
它提交表单。 :(
如何防止在rails
中使用回车键提交?
我必须使用纯 html 标签吗?喜欢<form> tag
和<submit> button
?
有什么好的解决办法吗?
最佳答案
回车键提交不是rails问题,而是HTML/JS问题
Rails 是后端(位于服务器上); HTML/JS 是客户端(位于浏览器中) - 它们决定启用/禁用哪些功能
我会像这样解决你的问题:
$('form').on('keypress', e => {
if (e.keyCode == 13) {
return false;
}
});
如果您使用 Turbolinks:
$(document).on('turbolinks:load', () => {
$('form').on('keypress', e => {
if (e.keyCode == 13) {
return false;
}
});
});
关于jquery - 如何防止 Rails 中的 Enter 键提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20758766/