在谷歌浏览器中查看时,我的某个页面中出现了此错误/功能,所以我写了一个看起来像这样的测试页
<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键,无论输入类型是否提交,它都会提交。
我的问题,这是Chrome的默认功能/错误还是我在这里做错了什么。 ?
答案 0 :(得分:7)
引用HTML5规范的第4.10.21.2节:
“如果表单没有提交按钮, 那么隐式提交机制 必须只提交表单元素 表单元素本身。“表单元素本身。”
因此我认为Chrome的行为是正确的,尽管我认为其他浏览器也会这样做。您可以通过收听“提交”(例如阻止它)事件来捕获/阻止/处理表单提交.BlockquoteBlockquotet表单元素本身。“
答案 1 :(得分:3)
当光标输入时,一旦你按下回车键(即使没有提交按钮),大多数浏览器都不会提交Chrome。
答案 2 :(得分:0)
我有相反的问题。我为我的表单使用自定义js-element,当我使用style='dispay:none;'
作为提交按钮时,chrome不会在输入时提交表单,但是,firefox会:(