拡張ページダイアログボックスを使用してフォームを検証しています。ユーザーが入力を修正する必要がある場合、エラーメッセージを含むダイアログボックスをポップアップします。
ダイアログボックスには、ダイアログボックスを閉じ、修正が必要なフィールドにフォーカスを設定する[OK]ボタンがあります。
var ef = dojo.byId(errorField);
ef.focus();
これは、以下を除いてうまく機能しています......
フォームの上部に浮かぶボタンのグループと他のコンポーネントの束があります。
これらは、次のCSSのパネル内にあります。
.PNCToolBar2 {
position:fixed;
top:68px;
left:0px;
width:100%;
height:40px;
color:#fff;
background-color:#F2F2F2;
padding-top:6.0px;
padding-left:15.0px
}
何が起こっているのかというと、失敗したフィールドが「ボタンバー」の下で上にスクロールされると、ブラウザは少しスクロールしてボタンに焦点を合わせようとしますが、十分ではありません。ユーザーがフォーム上でブラウザをスクロールした方法によっては、エラーのあるフィールドのすべてまたは一部がボタンバーによって非表示になっている場合があります。
フィールドがブラウザウィンドウの上部のバーの下にあるかどうかを最初に確認してから、フィールドを表示する場合は少しスコールする方法はありますか?もしそうなら、どのように?