我正在使用扩展页面对话框验证我的表单。当用户需要更正输入时,我弹出带有错误消息的对话框。
该对话框有一个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
}
发生的事情是,如果失败字段在“按钮栏”下滚动,那么浏览器会滚动一点以尝试使按钮成为焦点但不够。根据用户在表单上滚动浏览器的方式,错误字段的全部或部分可能仍会被按钮栏隐藏。
有没有办法首先知道该字段是否位于条形图下方的浏览器窗口的顶部,然后如果要显示该字段则稍微有点乱?如果是这样的话?
答案 0 :(得分:4)
尝试:
dojo.window.scrollIntoView(ef);
如果ef表示的DOM节点当前不在屏幕上,那么Dojo将滚动得足够大,以便它可以。
答案 1 :(得分:0)
使用javascript可以使用scrollTo()方法 http://www.w3schools.com/jsref/met_win_scrollto.asp