7

这是一个很容易描述的问题。这在 Firefox (3.6)、IE (8) 和 Chrome (8) 上进行了测试。

这是文件 doesnotsubmit.html

<form>
    <input />
    <input />
</form>

当焦点位于其中一个输入上并按 Enter 键时,什么也没有发生。

下面是文件dossubmit.html

<form>
    <input />
</form>

当焦点在输入上并按下回车键时,表单被提交。

对这种不一致的行为有任何见解吗?

我知道表单缺少提交按钮,因此在语义上不正确。无论如何,提交过程是通过 jQuery 对话框按钮窗格的按钮自动处理的,我不知道如何放置额外的 <input type="submit" />。

4

2 回答 2

1

user754151 是正确的。这是一个已知的错误,但我想您只需拦截 enter keypress 事件即可摆脱它。

于 2011-12-23T14:07:19.947 回答
1

这个问题有两种可能的解决方案。

  1. 最简单的解决方案是添加 1 个用户不可见的输入字段。

  2. 您可以绑定该输入字段的 keydown 事件,并在该函数中检查 keyCode == 13,然后检查 preventDefault()。

于 2016-03-04T11:54:00.500 回答