引子:
在ASP.Net頁中textbox的index為1(或n),其後的提交按鈕index為2(n 1),遊標在textbox,回車後自動焦點移動到後面的button上,會觸發button的點擊事件。
但在Lyncplus客戶端中訪問Web頁面時遇到了TextBox控制回車自動完成按鈕的提交事件失效的情況(應該是自動切換焦點)。
由於且該服務端TextBox控制項沒有提供OnKeyPress或OnKeyDown等事件,也無法針對回車事件寫後台程式碼來呼叫Button按鈕的點擊事件。
於是上網找相關的介紹,最後解決了以下兩個問題:
(一)、實作在TextBox控制回車事件中執行JS程式碼,來控制頁面元素的值。
(二)、實作在TextBox控制項回車事件中 呼叫服務端控制項的點擊事件,來執行服務端C#程式碼,實現相關的功能。
具體實作如下:
一、註冊與觸發服務端TextBox控制回車事件
1.PageLoad事件碼:
protected void Page_Load(object sender, EventArgs e)
{
MessageTx. ", "EnterTextBox()");
MessageTxt.Attributes.Add("onkeydown", "EnterTextBox()");
}
2.javascript程式碼:
二、TextBox控制項回車事件中呼叫服務端Button控制項點選事件
1.PageLoad事件代碼: 同上。
protected voids_Lotec(object s eender(objectArgs) >{
MessageTxt.Attributes.Add("onkeypress", "EnterTextBox()");
MessageTxt.Attributes.Add("onkeydown", "EnterTextBox()");
}
2.javascript程式碼: 注意使用原始的dom物件取得按鈕,使用Jquery取得不到。
}