|
.NET TIPS [ASP.NET]コントロールにフォーカスをセットするには?デジタルアドバンテージ2004/05/21 |
![]() |
|
|
|
「TIPS:[ASP.NET]ページにJavaScriptを埋め込むには?」では、プログラム・コード内に記述したスクリプトをページ内に埋め込んでブラウザに出力するための、Pageクラス(System.Web.UI名前空間)のRegisterStartupScriptメソッドについて解説している。
ここでは、このメソッドを利用して、指定されたコントロールにフォーカスをセットする方法について解説する。
例えば、ページのロード時にテキストボックスにフォーカスをセットしておけば、ユーザーはページが表示された時点で、すぐに文字の入力を開始できるようになる(デフォルトではどこにもフォーカスがセットされていないため、ユーザーはまずテキストボックスをクリックする必要がある)。
コントロールにフォーカスをセットするためのスクリプト
まず、指定されたコントロールにフォーカスをセットするための方法であるが、これは例えばJavaScriptを用いて記述すると次のようになる。
document.getElementById('myTextBox').focus();
この記述はDHTML(Dynamic HTML)の機能を利用したものだ。簡単にいうと、「myTextBox」というIDを持ったコントロールをHTMLドキュメント全体から探し出し、フォーカスをセットするというものである(DHTMLの詳細な仕様については米マイクロソフトのMSDNにある「HTML and DHTML Reference」で参照できる)。
このようなスクリプトをRegisterStartupScriptメソッドのパラメータとして指定し、このメソッドを呼び出せば、最終的に出力されるHTMLテキストに埋め込まれて、ページの表示時点で実行することができる。
テキストボックスにフォーカスをセットするサンプル・プログラム
テキストボックスにあらかじめフォーカスがセットされたページを表示するサンプル・プログラムを次に示す。このプログラムでは、フォーカスをセットするコントロールを指定できるように、スクリプトの出力処理をSetFocusという名前のメソッドにまとめている。
|
|
| テキストボックスにフォーカスをセットするC#のサンプル・プログラム(setfocus_cs.aspx) | |
|
|
| テキストボックスにフォーカスをセットするVB.NETのサンプル・プログラム(setfocus_vb.aspx) | |
SetFocusメソッドは、パラメータとしてControlクラス(System.Web.UI名前空間)のオブジェクトを指定するようになっているが、ASP.NETで使用できるサーバ・コントロールはすべてのこのクラスを継承しているため、このメソッドはどのようなサーバ・コントロールに対しても利用できる。
なお、ControlクラスのClientIDプロパティからは、サーバ・コントロールを記述する際にid属性で設定された、コントロールのIDを取得できる。![]()
| カテゴリ:Webフォーム 処理対象:クライアント・スクリプト 使用ライブラリ:Pageクラス(System.Web.UI名前空間) 使用ライブラリ:Controlクラス(System.Web.UI名前空間) 関連TIPS:[ASP.NET]ページにJavaScriptを埋め込むには? |
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -


