ASP.NETでJavaScriptコントロールのフォーカスを実現します.

2445 ワード


Windowsアプリケーションではコントロールのフォーカスをコントロールしやすいですが、ASP.NETではこのような機能は提供されていません.しかし、JaveScriptを通じてページ上の特定のコントロールに焦点を合わせる機能を実現することができます.
以下はJavaScriptコードです.
1 <script language="javascript"> 
2   var control = document.getElementById(<control name>); 
3   if( control != null ){ control.focus(); } 
4 </script> 
 
 
ここでは上のJavaScriptコードをパッケージ化するSetFocus Control関数を書いています.ページに登録して使うのはPage.Register Startup Script方法です. 
 1   Public Sub SetFocusControl()Sub SetFocusControl(ByVal ControlName As String) 
 2         ' character 34 = "                   
 3         '           chr(34) 
 4         Dim script As String = _ 
 5           "<script language=" + Chr(34) + "javascript" + Chr(34) _ 
 6                              + ">" + _ 
 7           "  var control = document.getElementById(" + Chr(34) + _ 
 8           ControlName + Chr(34) + ");" + _ 
 9           "  if( control != null ){control.focus();}" + _ 
10           "</script>" 
11         Page.RegisterStartupScript("Focus", script) 
12     End Sub 
 
  
その中のControl NameはフォーカスコントロールのIDを取得します.