HTML表单 - 当我点击输入时刷新页面!

时间:2010-02-07 01:06:05

标签: javascript jquery html

当您点击键盘上的“Enter”键时,有没有办法让表格不刷新或拨打任何东西?

非常感谢!!!

我发现这段代码阻止了Enter工作,但它在IE中不起作用:(

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

4 个答案:

答案 0 :(得分:35)

试试这个:

$(function() {
    $("form").submit(function() { return false; });
});

答案 1 :(得分:21)

禁用submit事件不是一个好主意。现在,您可以通过按下按钮来永远提交表单。

而是挂钩keypress事件:

<form onkeypress="return event.keyCode != 13">

或jQuery风格:

$('form').keypress(function(event) { 
    return event.keyCode != 13;
}); 

13 Enter 键的keyCode。这适用于从IE6到所有当前浏览器的所有浏览器。你只需考虑textareas。然后,您可以考虑使用此构造:

$(':input:not(textarea)').keypress(function(event) { 
    return event.keyCode != 13;
});

答案 2 :(得分:14)

在表单的标记上添加onSubmit属性。

<form onSubmit="return false;">

答案 3 :(得分:2)

如果您使用的是AngularJS ,则可以通过“输入”键本地阻止表单提交

根据HTML规范和AngularJS,您需要查看此列表:

  1. 表单必须具有 NO action=...属性(AngularJS会自动处理)
  2. 表单必须包含 button type="submit"属性
  3. 因此,如果您没有操作属性和提交按钮,则不应通过按Enter键提交您的表单。

    此外,跨浏览器的keyCode是这样的:

    var code = (e.keyCode ? e.keyCode : e.which);