当在谷歌浏览器中查看时,我的一个页面中出现了这个错误/特征,所以我写了一个看起来像这样的测试页面
<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表单元素本身.“