2010-08-04 241 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;'爲提交按鈕,鉻不提交表單上輸入,雖然,火狐呢:(