我的頁面上有一個簡單的文本框和按鈕類型輸入。按Enter確認提交表格
<input id="sText" type="text" />
<input id="sButton" type="button" value="button" />
我使用jQuery捕獲按鈕點擊。
$("[id$=sButton]").click(function() {
...do Stuff
});
上面的代碼工作得很好,只要我手動點擊按鈕。當我想用「輸入」鍵點擊按鈕時,我開始遇到問題。無論我做什麼,我都無法阻止Enter鍵執行默認提交功能。
我做的第一件事是將輸入類型從「submit」更改爲「button」。
我試過形式的onsubmit設置爲onsubmit="return false;"
我試着使用jQuery來捕獲進入關鍵事件:
$("#sText").keyup(function (event) {
if (event.keyCode == 13) {
alert("Enter!");
// $("#sButton").click();
}
});
我每次按下回車鍵時,它就像我在提交表格,整個頁面刷新。上面的jQuery代碼確實捕獲了「輸入」按鍵,但表單仍然提交併刷新頁面。
我不確定發生了什麼事。
+1對於keydown建議 – 2012-01-05 22:04:39
除了添加「event.preventDefault()」之外,我還必須將「keyup」更改爲「keypress」,keyup或keydown都不起作用。謝謝! – SharpBarb 2012-01-05 22:34:45
似乎將輸入鍵檢查和按鈕作爲按鈕類型而不是將其切換回提交使用了大量額外的代碼。 – 2012-01-06 06:37:33