2011-10-10 32 views
0

像這樣的東西只有當用戶點擊錨時纔有效。但是當用戶在表單裏面按[Enter]鍵時,表單也會被提交。我怎麼能用一個錨點來實現相同的功能?使錨點充當提交按鈕。不只是使用點擊事件

$('a.submit').click(function() { 
    $(this).closest('form').submit(); 
}); 

Thanks.-

EDIT(與解決方案):

這種組合工程(至少)在FF和鉻!或者點擊類別提交或按[回車]鍵。

$('#my_form a.submit').click(function(e) { 
    e.preventDefault(); 
    $(this).closest('form').submit(); 
}); 

$('#my_form').keydown(function(e) { 
    if (e.keyCode != 13) 
     return; 
    $(this).submit(); 
}); 

感謝您的意見!

+0

Coudl你明確你所追求的?您是否試圖在使用回車鍵提交表單時運行代碼?如果是這樣,你可能想看看提交甚至處理程序。否則,我不知道你在做什麼... – Chris

+0

@chris不,我想提交表單與此錨。 AFAIK需要提交或圖像按鈕來觸發提交操作(單擊或按[enter])。 –

+0

啊是的。按輸入可能需要有一個按鈕。我有一種感覺,它不需要按鈕是可見的,儘管如此嘗試添加一個虛擬的一個,並將其可見性設置爲false或使用CSS顯示爲none,看看是否有幫助。有可能有更好的方法來做到這一點,雖然... – Chris

回答

1

幾個測試之後,這是完美的工作:

$('#my_form a.submit').click(function(e) { 
    e.preventDefault(); 
    $(this).closest('form').submit(); 
}); 

$('#my_form').keydown(function(e) { 
    if (e.keyCode != 13) // Enter or Return keystroke 
     return; 
    $(this).submit(); 
}); 
1

需要防止click事件從發射錨:

$('a.submit').click(function(event) { 
    event.preventDefault(); 
    $(this).closest('form').submit(); 
}); 
+0

這將是偉大的,但熱的工作在這裏,FF或鉻。 –