1

可能重复:
阻止用户按回车键提交表单

我写了一些简单的代码(你也可以在这里测试

<form >
       <input id="id2" type='text' />
</form>
$("#id2").keydown(function(e) {
    if (e.keyCode == 13) {
        alert('nope!');
        return false;
    }
});

如果我点击回车,我应该会看到一条带有“不!”的警报。然后什么都没有。但是,在我单击警报窗口上的“确定”后,尽管函数返回 false,但表单仍在提交。

它是什么?javascript中的一些奇怪的多线程?漏洞?或者...

​</p>

4

1 回答 1

2

使用keypress事件而不是keydown事件:

$("#id2").keypress(function(e) {
    if (e.keyCode == 13) {
        alert('nope!');
        return false;
    }
});

更新的演示

于 2012-09-07T11:20:48.757 回答