asp.NetにおけるTextBoxリターンイベントのバインドの解決方法

2728 ワード

1.ページ上のリターンイベントをボタンにバインドする
 
  
function EnterTextBox(e)
{
var msie = (document.all) ? true : false;
var keycode;
if(!msie) keycode = window.event ? e.keyCode : e.which;
else keycode = e.keyCode;
//alert(keycode);
if(keycode==13 && document.getElementById('').value != "")
{
//alert("test");
if(msie)
{
e.keyCode = 9;
e.returnValue = false;
}
document.getElementById('').click();
}
}

2.OnPrenderイベントでボタンクライアントイベントを設定する
 
  
protected override void OnPreRender(EventArgs e)
{
txtSearch.Attributes.Add("onkeypress", "EnterTextBox(event);")
}

大功を成し遂げた.
参考記事:
//www.jb51.net/article/27713.htm
原文参照:
1.ページ上のすべてのリターンイベントを1つのボタンにバインドする
 
  

<br>function EnterTextBox() <br>{ <br>if(event.keyCode == 13 && document.all["TextBox1"].value != "") <br>{ <br>event.keyCode = 9; <br>event.returnValue = false; <br>document.all["Button1"].click(); <br>} <br>} <br>



2.異なるTextBoxは異なるButtonをバインドする
 
  

<br>function EnterTextBox(button) <br>{ <br>if(event.keyCode == 13) <br>{ <br>event.keyCode = 9; <br>event.returnValue = false; <br>document.all[button].click(); <br>} <br>} <br>


対応するcsファイルで
//TextBox返却イベントのバインド
TextBoxPortOfDestination.Attributes.Add("onkeypress", "EnterTextBox('ButtonChoose')");
TextBoxItemName.Attributes.Add("onkeypress","EnterTextBox('ButtonAdd')");
TextBoxCost_PX.Attributes.Add("onkeypress","EnterTextBox('ButtonAdd')");
TextBoxCost_1X20.Attributes.Add("onkeypress","EnterTextBox('ButtonAdd')");
Webコード:
 
  













こんなパターンです.textboxで車に戻り、btnQuery_を呼び出します.Click