我有兩個按鈕之一與id = enterToSubmit和其他id = clickToSubmit。當用戶點擊enterkey時,我想要「enterToSubmit」按鈕提交表格 而不是「clickToSubmit」按鈕。防止按鈕提交輸入密鑰
在同一頁上,我有一個文本框id = title,並且在頁面加載時我隱藏了「enterToSubmit」按鈕,直到用戶在文本框中輸入內容,然後用戶可以按Enter鍵提交表單。
當用戶按下Enter鍵時,如何防止「clickToSubmit」按鈕提交?
我有兩個按鈕之一與id = enterToSubmit和其他id = clickToSubmit。當用戶點擊enterkey時,我想要「enterToSubmit」按鈕提交表格 而不是「clickToSubmit」按鈕。防止按鈕提交輸入密鑰
在同一頁上,我有一個文本框id = title,並且在頁面加載時我隱藏了「enterToSubmit」按鈕,直到用戶在文本框中輸入內容,然後用戶可以按Enter鍵提交表單。
當用戶按下Enter鍵時,如何防止「clickToSubmit」按鈕提交?
可惜你不能改變 '默認' 的HTML提交按鈕,它總是第一個input
/button
與submit
/image
類型。因爲Enter並不總是要提交一個表單,這取決於(a)什麼類型的元素是關注的,(b)是否是shift/ctrl + enter被使用,(c)窗體中還有什麼其他元素,以及(d)它是什麼瀏覽器。如果你錯過了一個案例,你會得到意外的默認提交;如果你遇到了不應該的情況,你會收到意外的提交意見。
所以一般來說,當你想控制表單的默認提交動作時,首先要在表單中放置一個額外的按鈕作爲第一個提交按鈕。如果您不希望顯示此按鈕,則可以使用較大的負值left
將其放在頁面的旁邊。 (這是一個有點難看,但通過display
或visibility
隱藏它會阻止它在某些瀏覽器工作。)
因此,也許你可以「隱藏」在進入到提交通過使其消失按鈕不能不其推關閉無法看到的頁面,然後將其上的click
事件捕獲到return false
並停止表單提交。
當用戶按下Enter鍵時,如何防止「clickToSubmit」按鈕 提交?
試試這個:
$("#clickToSubmit").keypress(function(e){
if(e.keyCode === 13){
e.preventDefault();
}
});
嘗試使用文本框驗證碼輸入
$j("#title").keypress(function(e1){
if(e1.keyCode==13){ // if user is hitting enter
return false;
}
});
的提交按鈕
$j("#clickToSubmit").submit(function(e1){
if(e1.keyCode==13){ // if user is hitting enter
return false;
}
});
jQuery('#clickToSubmit').click(function(e){
if(e.keyCode==13){
e.preventDefault();
}
});
首先,你必須確保兩個按鈕都不是提交類型。現在在這兩個按鈕上你可以調用兩個不同的JavaScript函數。 enterToSubmit()並單擊ToSubmit()也可以看到在enterToSubmit()上你看到了輸入鍵按
if(e.keyCode === 13){0} {0} {0} {0} }
,並調用form.submit()
同時clickToSubmit()你直接做form.submit()
代碼格式不正確。 – 2017-12-05 22:18:05
$('#formId').on('keyup keypress', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode === 13) {
e.preventDefault();
return false;
}
});
Usually form is submitted on Enter when you have focus on input
elements.
We can disable Enter key (code 13) on input elements within a form.
此外,由於在Firefox中的一些較新版本的表單提交不 阻止,它的安全按鍵事件添加到窗體爲好。
關於這段代碼的一些解釋可能是有益的。 – Pyves 2017-07-17 08:04:11
+1這是有用的信息一如既往:) – Sarfraz 2010-11-02 07:36:00