我刚刚通过设置ValidationGroup在ValidationSummary中实现了一个RequiredFieldValidatior。
当我点击相关按钮时,它工作正常!
但是视口在页面顶部发生变化和移动,我的验证结果和按钮等停留在页面的最底部,这是不好的。
有没有办法防止这种情况,让按钮点击后浏览器仍然在同一区域购物?
附加说明:验证在客户端失败;所以没有回发。基本上,验证失败,视口在页面顶部滑动。
答案 0 :(得分:2)
您可以通过在页面顶部添加以下指令来实现此目的:
<%@ Page MaintainScrollPositionOnPostback="true" %>
答案 1 :(得分:2)
在RequiredFieldValidator
中,SetFocusOnError
有一个选项,然后将光标移动到文本框/输入类型。
然后在页面顶部的页面声明中,添加MaintainScrollPositionOnPostback="true"
<%@ Page MaintainScrollPositionOnPostback="true" %>
答案 2 :(得分:0)
之前我已经完成了这项工作,专注于手动调用验证时未确认的第一个元素:
//has to be called after Page_ClientValidate()
function ValidatorFocus()
{
var i;
for (i = 0; i < Page_Validators.length; i++)
{
if (!Page_Validators[i].isvalid)
{
document.getElementById(Page_Validators[i].controltovalidate).focus();
break;
}
}
}