如何在Enter上阻止表单提交

时间:2014-05-01 02:12:57

标签: jquery html

我的表格带有&#34;所需&#34;在<input&gt;中线。问题是,如果我用Enter终止字段值,我会感到烦恼&#34;请填写此字段&#34;对于下一个字段,因为它显然想要在Enter上提交表单。理想情况下,我想将键码13映射到9,因为如果您在字段值后输入Tab,即只需移动到下一个字段,就会出现我想要的行为。

我已经尝试了

$("form#checkout_form").keypress(function(e) {
    if(e.keyCode == 13) {
       e.keyCode = 9;
    }
});  

但这不起作用。有没有人有其他想法?

由于

3 个答案:

答案 0 :(得分:4)

将e.keyCode设置为9不会将焦点移动到下一个输入,请尝试:

$("form input").keydown(function(e) {
    if(e.keyCode == 13){
        e.preventDefault(); // cancel default Enter key behaviour
        $(this).next('input').focus();
    }
});

答案 1 :(得分:0)

将函数绑定到表单的onsubmit事件以执行必要的验证。您可以通过在此函数中返回false来暂停表单提交。

阻止Enter尝试提交表单的另一种方法是删除<input type="submit">并将其替换为按下时将调用form.submit()的任何其他链接。它甚至可以是模仿经典提交按钮的<input type="button">。按Enter键不会提交没有<input type="submit">的表单。

答案 2 :(得分:0)

把它放在你的事件处理程序中:

e.preventDefault();