關於TextBox1.Attributes.Add的問題

---問題---------
我的頁面上分別有兩個按鈕Button1,Button2,和兩個編輯框TextBox1,TextBox2,我在PAGE_LOAD里加上下面這行代碼後,  
   
TextBox1.Attributes.Add("onkeydown","if(event.keyCode==13){document.all.Button1.click();}");  
   
實現了對TextBox1進行編輯的時候敲ENDER直接執行Button1.click的代碼,但是我發現這時候對  
TextBox2進行編輯的時候敲ENDER也會直接執行Button1.click的代碼.  
   
於是我又在PAGE_LOAD里加上  
   
TextBox2.Attributes.Add("onkeydown","if(event.keyCode==13){document.all.Button2.click();}");  
   
但是對TextBox2進行編輯的時候敲ENDER仍然會直接執行Button1.click的代碼.而不執行Button2.click的代碼  
   
而且現在即使我把這兩條語句刪除掉,再對TextBox1,TextBox2進行編輯,點擊ENDER還是會直接執行Button1.click的代碼.  
   
想問一下這種情況是因爲什麼,要怎麼樣才能解決和避免這種情況.


---出現此情況的原因------------
這是由於WEB表單的特性決定的,Button1是表單的默認提交按鈕,只要是在這個表單內,除多行文本框外的所有控件上回車,都會激發Button1

。所以會出現這種情況!!!  

 

---解決辦法---------------
在PAGE_LOAD里加上
Me.txtApplyID.Attributes.Add("onkeydown", "if(event.keyCode==13){document.all." + butQuery.ClientID + ".click();return   false}")
Me.txtCHANGEID.Attributes.Add("onkeydown", "if(event.keyCode==13){document.all." + butQuery.ClientID + ".click();return   false}")

txtApplyID是輸入框,輸入結束按回車,然後執行後面的butQuery按鈕。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章