- PR -

ASP.NET フォーカスについて

1
投稿者投稿内容
おひろ
ベテラン
会議室デビュー日: 2003/07/23
投稿数: 63
投稿日時: 2003-09-29 15:17
ASP.NETでテキストボックスAとボタンB、ボタンCがある画面を作成しています。
画面の起動時、およびボタンCをクリックした際に
・フォーカスをテキストボックスAへ と同時に
・コントロールのフォーカスをボタンBに
を実現したいのですが、うまくいきません。
何かよい方法はないでしょうか。
要はデフォルト入力項目であるテキストボックスAに自動的にフォーカスをあて、
入力後マウスを使わずENTERキーでボタンBを押したいのですが。。。
ご存知のかた、ご教授ください。
よろしくお願いいたします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-09-29 17:05
引用:

おひろさんの書き込み (2003-09-29 15:17) より:

・フォーカスをテキストボックスAへ と同時に


JavaScriptで、object.focus


引用:

・コントロールのフォーカスをボタンBに

入力後マウスを使わずENTERキーでボタンBを押したいのですが。。。


テキストボックスのイベントonkeydownかonkeyupで、入力されたコードを見る…ダメっぽいな。ボタンのサーバサイドイベントハンドラを皆同じにしておいて、inputのonfocusやonblurイベントでhiddenなinputにフォーカスを持っているコントロールを記述、サーバサイトイベントハンドラでこのコントロールの値を見て実際の処理を振り分ける。


 Windowsアプリケーションのような制御はできない、と考える方がいいです。ブラウザの種類やバージョン、クライアントの環境設定依存します(上記はJavaScriptをOFFにしていれば使えない)。また、そのアプリケーション"だけ"、他のWebアプリケーション(つまり、一般的なWebページの作法)と違うことをしていれば、結局とまどうのはエンドユーザです。
ぴで
大ベテラン
会議室デビュー日: 2002/10/10
投稿数: 123
お住まい・勤務地: 東京
投稿日時: 2003-09-29 17:56
引用:
ASP.NETでテキストボックスAとボタンB、ボタンCがある画面を作成しています。
画面の起動時、およびボタンCをクリックした際に
・フォーカスをテキストボックスAへ と同時に
・コントロールのフォーカスをボタンBに

ってフォーカスをどっちにあてたいのでしょう?

引用:

要はデフォルト入力項目であるテキストボックスAに自動的にフォーカスをあて、
入力後マウスを使わずENTERキーでボタンBを押したいのですが。。。

フォーカスについてはJittaさんが書かれていますが、onloadイベント中で実行すればよいでしょう。
後は、
onkeydown="if(event.keyCode==13)document.all('btn').click();"
でダメでしょうか?
Jittaさんもおっしゃっていますが、あまりクライアント操作に凝りすぎるのは大変ですよ。
おひろ
ベテラン
会議室デビュー日: 2003/07/23
投稿数: 63
投稿日時: 2003-10-02 10:41
Jittaさん、びでさん、ありがとうございます。
何とかうまくいきました。
これからはあまりクライアント操作には凝らないようにしようと思います。
1

スキルアップ/キャリアアップ(JOB@IT)