输入密钥不提交 - 如何返回 false

Enter key not to submit - how to return false

本文关键字:返回 false 何返回 密钥 提交 输入      更新时间:2023-09-26

我希望输入密钥不提交表单。我先做了这个。

 	$("#send_c").keypress(function(e) {
 	  if (e.which == 13) {
 	    e.preventDefault();
 	    return false;
 	  }
 	});

但是按钮和回车键的工作方式相同。即使通过 Enter 键也不会发生任何操作或提交任何内容。我的第二次尝试是这个。

<%=form_for [@article, @article.comments.build], remote: true, :onsubmit=>"return false;" do |f| %>
  <%=f.text_field :body, id: "c_i"%>
  <%=f.button :submit, id: "send_c"%>
<%end%>

这行不通。表单通过回车键和提交按钮提交。

可能出了什么问题?

代码的问题在于选择器

$("#send_c").keypress(function(e) {
      if (e.which == 13) {
        e.preventDefault();
        return false;
      }
    });

$("#send_c")是提交按钮的选择器,相反,您可能必须将选择器作为$(window)您可以使用以下脚本来完成任务

$(document).ready(function() {
  $(window).keydown(function(event){
    if(event.keyCode == 13) {
      event.preventDefault();
      return false;
    }
  });
});

有关参考,请参阅此问题

在javascript中:

function x13(x) { if(x.keyCode==13) return false; }

在 html 中:

<input onkeypress="return x13(event)">