- - PR -
デフォルトボタンについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-02-20 17:10
いつもお世話になっております。
複数のボタンがある画面にて、 エンターキーが押下された場合の挙動(押されるボタン)については formのプロパティにあるdefaultbuttonで解決しましたが そのボタンが画面を下にスクロールしないと見えない位置にある場合に 画面を呼び出すと画面位置がそのボタンが見える位置まで動いてしまいます。 Urlを【〜/test.aspx#】のように#をつけても先頭位置から表示されません。 解決方法など、何かご存知であれば助言お願いいたします。 | ||||
|
投稿日時: 2007-02-20 18:01
ブラウザの仕様なんだからそれでいいんじゃないのって思うんだけど・・・ 何がいけないんだろ? | ||||
|
投稿日時: 2007-02-20 18:51
ご返答有難う御座います。 例えば、このスレッドの内容画面を表示するときに defaultbuttonに設定されたボタンが画面の一番下にあった場合、 ボタンにフォーカスが移ってしまうことでスクロールしてしまい 画面の一番上から表示できなくなってしまうということです。 今の対処方法は一番上にフォーカスセット用の テキストボックスを配置しておいて bodyのonloadイベントで var objForm = document.getElementById("form1"); objForm.txtFocus.focus(); objForm.txtFocus.style.display = "none"; のようにして対処しています。 ただこの方法だと画面が表示される一瞬ですが、テキストが表示されてしまい 気になってしまいます。 | ||||
|
投稿日時: 2007-02-20 19:16
みたいなjavascriptが生成されるからです。これが書かれないdefaultbutton機能を自作しては どうでしょうか | ||||
|
投稿日時: 2007-02-20 19:44
ということはdefaultbuttonの仕様のようですね。 ご返答有難う御座いました。 自作する方向で考えてみようと思います。 | ||||
|
投稿日時: 2007-02-20 22:02
JavaScriptが有効であることが前提で良いのなら、
DefaultButtonプロパティを空にして、 デフォルトボタンにしたいボタン以外のすべてのボタンの UseSubmitBehaviorプロパティをFalseにする、という方法はどうでせう? | ||||
|
投稿日時: 2007-02-21 05:49
PanelのDefaultButtonを使用する方法とJavaScritを使用する
方法があります。 単純な場合は、PanelでOKかと。 ボタンが複数あるときはJavaScriptで実装したらどうでしょうか。 この場合、TextBoxのonKeyPressにJavaScriptを登録します。 ソースコードは以下のサンプルを参照してください。 [Enter]キーを押したときのデフォルトボタンを設定(JavaScript版/Panel版) http://www.gxbrbwda.sv02.fsdotnet.net/Goto.aspx?id=070220CS-1 _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 |
1