我希望Enter Key不提交表单。我先做了这个。
$("#send_c").keypress(function(e) {
if (e.which == 13) {
e.preventDefault();
return false;
}
});
但按钮和Enter键的工作方式相同。即使按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%>
这不起作用。表单由Enter键和提交按钮提交。
可能出现什么问题?
答案 0 :(得分:1)
代码的问题是选择器
$("#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;
}
});
});
供参考,请参阅此issue
答案 1 :(得分:0)
在javascript中:
function x13(x) { if(x.keyCode==13) return false; }
在html中:
<input onkeypress="return x13(event)">