asp.net 頁面回車觸發button按鈕事件

iDotNetSpace發表於2009-12-24

1.
深層次來說這不是 ASP.NET 的問題, 而是 html form. 的 submit 按鈕就是如何設計的。
當你的游標焦點進入某個表單元素的時候,會啟用該表單中第一個(流佈局順從左到右,從上至下) type=submit 的按鈕(假如有),等待響應回車事件,並提交該form.
你可以測試一下程式碼:









2.
在 ASP.NET 2.0 中 button 預設呈現為 此時不要額外指令碼提交form. ,submit 按鈕就是設計用來提交form.
而在 1.x 中則呈現為 此普通 button 不具備 submit 的上述預設行為
3.
禁用此預設行為有法二
1.
設定 form. 元素的 defualtButton 為你希望響應回車的真正按鈕如下

注意 defaultButton = < > 因此這對複合控制元件中比如模板的 Button 可能無效(未測試)
2.
修改 button 呈現方式 UseSubmitBehavior="false"

(csdn 曉風殘月)

另外可以通過控制焦點的方式,過濾回車實踐,需要記錄一筆的是,獲取當前頁面焦點所在控制元件的ID:

document.activeElement

對於Asp.Net.我們在TextBox1中輸入內容後,按下enter鍵後,就執行Button1的click方法。那麼在page_load事件方法中寫。

TextBox1.Attributes.Add("onkeydown", "if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById('"+Button1.UniqueID+"').click();return false;}} else {return true}; ");

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-623603/,如需轉載,請註明出處,否則將追究法律責任。

相關文章