jquery - 如何防止 Rails 中的 Enter 键提交

标签 jquery ruby-on-rails

简单的例子:

 <%= 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;
        }
    });
});

很好的引用:How to prevent ENTER keypress to submit a web form?

关于jquery - 如何防止 Rails 中的 Enter 键提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20758766/

相关文章:

javascript - Bootstrap 下拉菜单在单击时隐藏 选择隐藏下拉菜单

jQuery动态添加CSS样式到链接列表

ruby-on-rails - Rails 3 validate_with 抛出 ArgumentError : wrong number of arguments

ruby-on-rails - ruby : multidimensional %w array?

jquery - JsSIP 实现

javascript - 来自 ajax 调用的全局数组

javascript - 使用 jquery 隐藏和显示错误

ruby-on-rails - 在 graphql-ruby 中定义输入类型

ruby-on-rails - 每当插件帮助

ruby-on-rails - 无法与 capybara 选择日期?