2012-01-24 175 views

回答

189
$("input").keypress(function(event) { 
    if (event.which == 13) { 
     event.preventDefault(); 
     $("form").submit(); 
    } 
}); 
+2

不要忘記添加#在輸入ID! – MadsterMaddness

+8

@MadsterMaddness使用''#只有當我們指定一個元素的ID前面。從這個答案中,它指定了所有''元素。 – Mai

44

更改#form到表單的ID

$('#form input').keydown(function(e) { 
    if (e.keyCode == 13) { 
     $('#form').submit(); 
    } 
}); 

或可替代

$('input').keydown(function(e) { 
    if (e.keyCode == 13) { 
     $(this).closest('form').submit(); 
    } 
}); 
+8

您只需在表格上的keydown事件結合,而不是結合的個人投入,:在keydown事件會傳播到形式。 – Beejamin

+0

確實很有幫助!有道理不具備提交表單按鈕處處 – cwiggo

+2

如果您的形式有多種輸入元素則稍微好一點的是將處理的形式和過濾器從輸入元素類似這樣的事件綁定:在$(「#形式」)(」的keydown」,‘輸入’,功能(E){... –

14

周杰倫吉爾福特的回答會的工作,但我認爲真正的最簡單的方法是隻拍上display: none;表單中的提交按鈕。

+4

這不適用於我,我必須設置可見性:隱藏;相反。 –

5

@JayGuilford的答案是一個很好的答案,但如果你不想JS依賴項,你可以使用提交元素,並使用display: none;來隱藏它。