Xpages 如何滚动浏览器窗口?

Xpages 如何滚动浏览器窗口?,xpages,Xpages,我正在使用扩展页对话框验证我的表单。当用户需要更正输入时,我弹出带有错误消息的对话框 该对话框有一个“确定”按钮,用于关闭对话框并将焦点设置为需要更正的字段 var ef = dojo.byId(errorField); ef.focus(); 除了 我有一组按钮和一堆其他组件,它们漂浮在表单的顶部 它们位于具有以下CSS的面板内 .PNCToolBar2 { position:fixed; top:68px; left:0px; width:100%; height:40px; col

我正在使用扩展页对话框验证我的表单。当用户需要更正输入时,我弹出带有错误消息的对话框

该对话框有一个“确定”按钮,用于关闭对话框并将焦点设置为需要更正的字段

 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
 }
发生的情况是,如果失败字段在“按钮栏”下向上滚动,那么浏览器会稍微滚动一点,试图使按钮聚焦,但这还不够。根据用户在表单上滚动浏览器的方式,出错字段的全部或部分可能仍被按钮栏隐藏


有没有办法先知道该字段是否位于浏览器窗口顶部的栏下,然后再稍微调低一点以显示该字段?如果是,如何使用?

使用javascript,您可以使用scrollTo()方法
使用javascript,您可以使用scrollTo()方法 试试:

dojo.window.scrollIntoView(ef);
如果ef表示的DOM节点当前不在屏幕上,Dojo将滚动到足够的位置,这样它就可以在屏幕上显示

试试:

dojo.window.scrollIntoView(ef);
如果ef表示的DOM节点当前不在屏幕上,Dojo将滚动到足够的位置,这样它就可以在屏幕上显示


这不起作用。记住它是“在视野中”。它就在一个浮动面板下面。让它工作。这真的很简单。我所做的只是滚动到0,0,然后设置焦点。这不起作用。记住它是“在视野中”。它就在一个浮动面板下面。让它工作。这真的很简单。我所做的就是滚动到0,0,然后设置焦点。这似乎是可行的,但我如何获得字段的位置?我在这里需要做的是将焦点设置为场,得到它的x轴,如果它在条下,得到它的y轴,然后加上100px左右。然后滚动到那些坐标。Oops在上面的错误帖子上发表了评论。我使用了上面阿德里安建议的滚动方法。滚动到0,0,然后设置焦点。它总是把视野放在视野中。这看起来很简单,但是我怎么才能得到一个领域的位置呢?我在这里需要做的是将焦点设置为场,得到它的x轴,如果它在条下,得到它的y轴,然后加上100px左右。然后滚动到那些坐标。Oops在上面的错误帖子上发表了评论。我使用了上面阿德里安建议的滚动方法。滚动到0,0,然后设置焦点。它总是把视野放在视野中。非常简单