2010-08-04 242 views
6

谷歌浏览器时,此错误/功能在我的一个网页出现了,甚至形成,所以我写了一个测试页面,看起来像这样谷歌浏览器提交如果没有提交按钮

<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上的回车键,则无论输入类型是否提交,它都会提交。

我的问题,这是铬的默认功能/错误或我在这里做错了什么。 ?

回答

3

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

+0

我试过上面的代码,没有任何反应在Firefox,IE浏览器,歌剧。 – Uday 2010-08-04 07:56:44

+1

让我知道你使用的是哪个IE版本?我现在使用IE7,奇怪的是,当我将光标放在输入框中时,只要按下“enter”就会提交。 – ppshein 2010-08-04 14:34:01

7

举的HTML5规范的第4.10.21.2:

“如果表单没有提交按钮,然后 隐含提交机制 必须刚从 表单元素本身提交表单元素。 “表单元素本身”。

因此,我认为Chrome的行为是正确的,但我认为其他浏览器也是这样做的,您可以通过听取“submit”来捕获/阻止/处理表单提交。阻止它)event.Blockqu oteBlockquotethe形式元素本身。“

0

我有相反的问题。我使用自定义js元素为我的表单,当我使用style='dispay:none;'为提交按钮,铬不提交表单上输入,虽然,火狐呢:(