当在谷歌浏览器中查看时,我的一个页面中出现了这个错误/特征,所以我写了一个看起来像这样的测试页面
@H_301_2@<body>
<form action="loginhandler.PHP">
<input type="text" id="name">
<input type="text" id="lastname">
<input type="button" value="Login">
</form>
</body>
在这里你可以看到,输入类型不是提交类型.因此,如果你在IE,Firefox,Opera上按ENTER键,没有任何反应,这是预期的行为.
但是如果你在chrome上按Enter键,无论输入类型是否提交,它都会提交.
解决方法
引用HTML5规范的4.10.21.2节:
“If the form has no submit button,
then the implicit submission mechanism
must just submit the form element from
the form element itself.”the form element itself.”
因此我认为Chrome的行为是正确的,尽管我认为其他浏览器也会这样做.您可以通过收听“提交”(例如阻止它)事件来捕获/阻止/处理表单提交.BlockquoteBlockquotet表单元素本身.“