即使没有提交按钮,Google Chrome也会提交表单

Uda*_*day 6 html google-chrome form-submit

当在谷歌浏览器中查看时,我的一个页面中出现了这个错误/特征,所以我写了一个看起来像这样的测试页面

<body>
 <form action="loginhandler.php">
      <input type="text" id="name">
      <input type="text" id="lastname">
      <input type="button" value="Login">
 </form>
</body>
Run Code Online (Sandbox Code Playgroud)

在这里你可以看到,输入类型不是提交类型.因此,如果你在IE,Firefox,Opera上按ENTER键,没有任何反应,这是预期的行为.但是如果你在chrome上按Enter键,无论输入类型是否提交,它都会提交.

我的问题,这是chrome的默认功能/错误还是我在这里做错了什么.?

Pet*_*loo 7

引用HTML5规范的4.10.21.2节:

"如果表单没有提交按钮,那么隐式提交机制必须只从表单元素本身提交表单元素."表单元素本身."

因此我认为Chrome的行为是正确的,尽管我认为其他浏览器也会这样做.您可以通过监听"提交"(例如阻止它)事件来捕获/阻止/处理表单提交.BlockquoteBlockquotet表单元素本身."


PPS*_*ein 3

即使是Chrome,大多数浏览器在光标输入时按回车键(即使没有提交按钮)也会提交。