Javascript 控制回车键

Javascript 控制回车键,javascript,jquery,forms,Javascript,Jquery,Forms,我们如何在一个页面中创建一个表单,而不是按Enter键提交表单。它的工作原理与按下特定按钮、图标或图像相同 以下是我表格的内容: <input type="text" id="txt" /><input type="button" value="search" onclick="searchresult()" /> 问题是,如果我按Enter键,表单会提交,文本字段会自动清除,但函数searchresult()不会显示其效果。只按下按钮时,

我们如何在一个页面中创建一个表单,而不是按Enter键提交表单。它的工作原理与按下特定按钮、图标或图像相同

以下是我表格的内容:

<input type="text" id="txt" /><input type="button" value="search"            
 onclick="searchresult()" />

问题是,如果我按Enter键,表单会提交,文本字段会自动清除,但函数
searchresult()
不会显示其效果。只按下按钮时,效果良好。

HTML

<input type="text" id="txt"/>
<input type="button" value="search"/>
您还可以像下面这样绑定到
submit()

$('form').submit(function(e) {  // instead of only `form`, 
                                // use with `id` or `class` combination
   if(e.which == 13) {
     e.preventDefault();
   }
});
余数 别忘了将代码放在

$(document).ready(function() {
   // your code
});
总之

$(function() {
  // your code
});
尝试:


这附属于形体本身。如果是以其他方式提交的,则单击提交按钮会停止提交过程。为了获得更好的性能,请缩小
“表单”选择器的范围。

或者,您可以在提交表单之前绑定到
onsubmit
事件以执行任何处理,而不是禁用enter键。从:

当用户单击表单()中的提交按钮时,将引发提交事件

试试这个:

形式


js


$(文档).ready(函数(){
$(“#myForm”).submit(函数(e){
e、 预防默认值();
searchresult();
});
});

我将绑定到表单的提交事件,而不是按钮的单击事件。这允许用户通过按enter键提交表单,而不是要求用户伸手使用鼠标。确切地说@KevinB-see:@iambriansreed我认为这更糟糕。这意味着用户不能点击提交按钮并按回车键。我想他们仍然可以按空格键。我先试了一下,但现在按回车键没用,所以我把它换成了按钮,并很好地设置了按钮。一般情况下,人们在文本字段中键入后按enter键,但它在矿井中不起作用。我想要相同的ajax函数调用,或者是用户到达输入键,或者是搜索按钮。请建议我进去detail@KevinB更新了我的答案。除非是按钮,否则Enter键将被忽略。@此处的CodeParadox选择器错误,该事件应绑定到文本输入,而不是按钮。@cowboy:如果CodeParadox的答案有帮助,请接受它。请参阅我的编辑,需要
type=“button”
type=“submit”
thanx以获得您有价值的建议
$(function() {
  // your code
});
$('form').submit(function(event){
    if(!$(':focus',this).is(':button'))
        event.preventDefault();
});
<form id="myForm">
<input type="text" id="txt" />
<input type="submit" value="search" />
</form>
<script>
$(document).ready(function(){
    $("#myForm").submit(function(e){
        e.preventDefault();
        searchresult();
    });
});
</script>