我有一個表格,我使用JQuery,我不認爲我需要把代碼放在這篇文章中,這個問題是非常基本的。如何在按下回車鍵或回車鍵時阻止表單提交?
但我想阻止表單提交時,人們按下Enter鍵或Return鍵。
同時,我有textareas,用戶需要能夠按Enter/Return鍵。
我有一個表格,我使用JQuery,我不認爲我需要把代碼放在這篇文章中,這個問題是非常基本的。如何在按下回車鍵或回車鍵時阻止表單提交?
但我想阻止表單提交時,人們按下Enter鍵或Return鍵。
同時,我有textareas,用戶需要能夠按Enter/Return鍵。
快速和骯髒的劈,但一般不是試圖阻止在各個領域的按鍵更可靠:地址:
<input type="submit" onclick="return false;" />
在窗體的頂部。在當前瀏覽器中按下Enter鍵時,表單中的第一次提交將用作默認按鈕,因此通過中斷它可以防止發生Enter提交。
然後使用CSS隱藏和/或移動按鈕,使其無法看到。
儘管阻止輸入提交併不總是一個好主意,這是瀏覽器工作的標準方式,有些用戶確實需要它。
謝謝,那就是我一直在尋找的。我明白,瀏覽器正常操作並不是一個好主意,但有時你只需要做客戶需要的東西...... – BIL9000 2009-09-16 20:31:58
在文檔級設置一個標誌,submitform = false; 驗證提交對此。 更改提交按鈕的onclick處理程序中的標誌。
難道你不能添加一個onsubmit屬性給表單,然後檢查它是否使用回車鍵提交?
你可以試試這個
jQuery(document).ready(function(){
validSubmit = false;
})
jQuery('myForm textarea').keypress(function(e) {
if (e.which == 13) {
validSubmit = true; // if the pressed key is enter, then allow submissions
}
})
jQuery('myForm').submit(function(){
if (!validSubmit) {
return false; //if submitting the form is not allowed, then cancel submission
}
})
這將取消任何除非輸入/敲擊回車鍵上一個textarea提交的所有文件。如果你正在使用一個按鈕,你也需要添加一個函數。
jQuery('form button.validSubmit').click(function(){ //or 'form input[type="submit"]'
validSubmission = true;
})
一個很好的折衷可能是實現客戶端驗證。如果用戶按下輸入並且驗證失敗,表單將不會通過。如果他們按回車並驗證成功,即使是意外,表單也會通過,但至少您會保持默認瀏覽器行爲不變。 – colllin 2012-02-29 21:40:40