- - PR -
フォーカス移動の優先順位
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-01-31 14:49
こんにちは。ASP.NET 2.0 (VB.NET)で開発を行ってます。
txtAとtxtBという2つの続けて配置したテキストボックス(TABINDEXも連続しています)があって 両方とも、JavaScriptのonBlurイベントにてロストフォーカスした時に数字チェックを行っています。 数字チェックがOKなら2つの合計を出力する為、加算を行うのですが その前にロストフォーカスしなかったテキストボックス(txtAでロストフォーカスしたらならtxtB) の数字チェックを行っています。 一回目の数字チェックNGの時は... @txtAに数字以外を入力後ロストフォーカス ↓ Aalertでエラーメッセージ表示 ↓ BtxtAにフォーカスを戻す。 ↓ C処理終了 としたいのですが、AとBの処理の間?にtxtBにフォーカスが移ってしまい 以下のような状況になっています。 @txtAに数字以外を入力後ロストフォーカス ↓ Aalertでエラーメッセージ表示 ↓ BtxtBにフォーカスが移動?? ~~~~~~~~~~~~~~~ ↓ CtxtAにフォーカスを戻す。 ↓ DtxtBのロストフォーカスが発生 ↓ EtxtBは未入力なので一回目の数字チェックOK ↓ E合計値の計算の為txtAの数値チェックを再度行い 結果エラーの為、alertでエラーメッセージ表示 ↓ F処理終了 となってしまいます。 Bのフォーカスが移動するのはコントロールのTabIndexが働いているからなんでしょうか? それを抑制し、txtBにフォーカスが移動するのを防ぐ方法などはあるのでしょうか? ご存知の方ご教授ください。よろしくお願いします。 | ||||
|
投稿日時: 2007-01-31 15:41
Web では入力チェックというのは最後 (Submit) にやるものです。
Web アクセシビリティについて調べてみてください。 # alert でエラーを表示していない場合は、自然な動きですが。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2007-01-31 15:51
じゃんぬねっとさん、返信有難う御座います。
これは重々承知いたしております ただ、元々がVBで組まれており その動きを出来る限り踏襲して欲しいとの要求があったので・・・。 (Web上で一般公開することもありません) やはり無理があるんでしょうかね;; もうちょっと別なやり方を提案すべきかなぁ・・・。 | ||||
|
投稿日時: 2007-01-31 16:43
alert でエラーが表示されなければ、自然な動きです。 なので、ASP.NET と言えば、やはり Validator でしょう。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
1