有人能解释一下这种行为吗?在HTML表单的文本框中按下回车键会提交表单,但是当表单包含两个或更多文本框时就不会提交。
jsFiddle(一个文本框):http://jsfiddle.net/gpPTa/
jsFiddle(两个文本框):http://jsfiddle.net/fDbJt/
jsFiddle(一个文本框):http://jsfiddle.net/gpPTa/
jsFiddle(两个文本框):http://jsfiddle.net/fDbJt/
很不幸,默认情况下,表单只有一个输入框时会在按下回车键时提交。
您可以为每个输入框添加JavaScript命令以提交表单,或者放置一个宽度为0和/或可见性为none的提交按钮。 例如:
<form>
<input style='width:0; visibility:hidden' type='submit'>
<input>
<input>
</form>
看起来浏览器认为只有一个输入框,它也是提交控件。聚焦在它上面并按下回车键将提交表单,就像聚焦在提交按钮上一样。
当你在其中一个<inputs>
中添加type="submit"
时,你可以使用任意多个其他的输入框,并且通过按下回车键提交表单。
我没有任何参考资料来支持这一点,但对我来说似乎很合理。
<input>
上按回车键会提交表单,因为这是唯一可以与表单交互的表单元素。但是,如果不同的<input>
包含type="submit"
,为什么在一个<input>
上按回车键会提交表单我就不明白了。我想知道是否有规范提供了这种行为背后的原理。 - thinkterry