这个bug/特性出现在我的一个页面中,它是在google chrome中查看的,所以我编写了一个测试页面,如下所示
<body>
<form action="loginhandler.php">
<input type="text" id="name">
<input type="text" id="lastname">
<input type="button" value="Login">
</form>
</body>
在这里可以看到,输入类型不是submit类型。因此,如果在IE、Firefox和Opera上按ENTER键,什么都不会发生,这就是预期的行为。但是,如果您在chrome上按enter,则不管输入类型是否提交,它都会提交。
我的问题是,这是chrome的默认特性/错误,还是我做错了什么。?
发布于 2010-08-04 07:34:05
引用HTML5规范的4.10.21.2节:
如果表单没有提交按钮,那么隐式提交机制必须只从表单元素本身提交表单元素。
因此,我相信Chrome的行为是正确的,虽然我认为其他浏览器也这样做。您可以通过侦听"submit“(例如阻止它) event.BlockquoteBlockquotethe表单元素本身来捕获/阻止/处理表单提交。
发布于 2010-08-04 07:30:54
即使是Chrome,大多数浏览器都是在输入光标时按回车(甚至没有提交按钮)才提交的。
发布于 2010-12-14 14:05:45
我有相反的问题。我的表单使用自定义js-元素,当我使用style='dispay:none;'
作为submit按钮时,chrome在enter上不提交表单,尽管火狐有:(
https://stackoverflow.com/questions/3403415
复制相似问题