Forms 有多个输入文本时不提交表单

Forms 有多个输入文本时不提交表单,forms,input,submit,keypress,enter,Forms,Input,Submit,Keypress,Enter,这是一个非常简单的问题来描述。这是在Firefox(3.6)、IE(8)和Chrome(8)上测试的 这是doesnotsubmit.html文件 <form> <input /> <input /> </form> <form> <input /> </form> 当焦点在其中一个输入上并按enter键时,不会发生任何事情 下面是doessubmit.html文件 <for

这是一个非常简单的问题来描述。这是在Firefox(3.6)、IE(8)和Chrome(8)上测试的

这是doesnotsubmit.html文件

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

当焦点在其中一个输入上并按enter键时,不会发生任何事情

下面是doessubmit.html文件

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

当焦点在输入上并按enter键时,表单将被提交

对这种不一致的行为有什么见解吗


我知道表单缺少提交按钮,因此语义不正确。无论如何,提交过程是通过jQuery对话框buttonpane的按钮自动处理的,我不知道如何放置额外的按钮。

user754151是正确的。这是一个已知的错误,但我想您可以通过截取enter keypress事件来消除它。

对于这个问题,有两种可能的解决方案

  • 最简单的解决方案是再添加一个用户看不到的输入字段

  • 您可以绑定该输入字段的keydown事件,在该函数中只需选中keyCode==13,然后选择preventDefault()


  • 如果非要我猜的话,我会说“不提交”是理想的行为,但是为了有搜索字段的网站(这是他们的典型模式),他们在表单中添加了一个例外,只有一个输入。虽然我在这里真的在猜测…好的洞察力是,请参阅HTML规范的链接