2010-06-28 99 views
3

按鈕是有一些定爲這形式不回車鍵提交時沒有提交內部

<form> 
<input type="text" ... 

</form> 

敲擊回車鍵的文本框裏面的時候沒有提交按鈕內不提交表單,有沒有解決這個問題?

+1

添加一個提交按鈕。並非所有用戶都知道按文本輸入中的輸入可以提交表單,並且如果他們是複製/粘貼,他們可能已經使用了鼠標,因此點擊按鈕比將手移動到Enter鍵快。提交按鈕還會向用戶發出信號,表明這是可以提交的內容。 – Quentin 2010-06-28 12:57:46

+0

@David Dorward我的提交按鈕是由jqueryUI對話框添加的 – Omu 2010-06-28 13:03:44

+1

氣味破碎:http://icant.co.uk/articles/pragmatic-progressive-enhancement/#build – Quentin 2010-06-28 13:06:19

回答

6

我的建議是...... 創建一個提交按鈕。如果你不想顯示提交按鈕,那麼使用CSS隱藏按鈕。

+1

不幸的是,Chrome(v7.0.517.8 dev)似乎很聰明,知道提交按鈕是隱藏的而不是聽輸入鍵按下:-( – Tom 2010-09-23 16:54:29

2

您可以使用jQuery的keyup事件中,如果按下的鍵是13(回車鍵碼),然後提交表單:

$('#input-id').keyup(function(e) { 
    if (e.keyCode == 13) { 
     $('#form-id').submit(); 
    } 
}); 
+0

這也是一個不錯的選擇,但即使對於所有元素也需要實現keyup,這會增加瀏覽器的工作量,以及編碼 – BlueBird 2010-06-28 14:12:43

+0

您也可以使用類選擇器實現所有元素,但即使我同意您的解決方案更清晰和更好。 – 2010-06-28 14:31:07