Cha*_*had 8 javascript asp.net validation
在我的提交按钮上,我想要做的是OnClick显示"请等待"面板并隐藏按钮,除非验证器说某些内容无效 - 然后我需要按钮仍然显示.否则,我有一个显示错误的验证摘要,无法再次提交.
我发现大多数关于这样做的文章都希望使用Page_ClientValidate()函数来告诉页面验证自己,但这对我来说是未定义的,就像Page_IsValid变量一样.这是我正在尝试使用的功能 - 我缺少什么?:
function PleaseWaitShow() {
try {
alert("PleaseWaitShow()");
var isPageValid = true;
// Do nothing if client validation is not active
if (typeof(Page_Validators) == "undefined") {
if (typeof(Page_ClientValidate) == 'function') {
isPageValid = Page_ClientValidate();
alert("Page_ClientValidate returned: " + isPageValid);
alert("Page_IsValid=" + Page_IsValid);
} else {
alert("Page_ClientValidate function undefined");
}
} else {
alert("Page_Validators undefined");
}
if(isPageValid) {
// Hide submit buttons
document.getElementById('pnlSubmitButton').style.visibility = 'hidden';
document.getElementById('pnlSubmitButton').style.display = 'none';
// Show please wait panel
document.getElementById('pnlPleaseWait').style.visibility = 'visible';
document.getElementById('pnlPleaseWait').style.display = 'block';
} else {
alert("page not valid - don't show please wait");
}
} catch(er) {
alert("ERROR in PleaseWaitShow(): " + er);
}
}
Run Code Online (Sandbox Code Playgroud)
小智 8
更改此行"if(typeof(Page_Validators)=="undefined")"to if(typeof(Page_Validators)!="undefined")
根据" ASP.NET验证深度 " 页面上的"客户端API"部分:
Page_IsValid | 布尔变量| 指示页面当前是否有效.验证脚本始终保持最新.
实际上,在启用了ASP.NET客户端验证的表单上的FireBug中查看此变量时,它会在我填写表单的详细信息(错误或正确)时更新.
显然,如果您已在验证程序或验证摘要上禁用了客户端脚本,则此变量将无法使用.
我相信我已经找到了“某种”答案。
我仍然无法确定为什么我的页面无法识别“Page_ClientValidate()”或“Page_IsValid” - 这部分仍然没有答案。
但是,我在页面上使用了许多 PeterBlum 验证器,这些验证器确实提供了返回 true/false 的“VAM_ValOnSubmit()”。所以这可能是解决方案。我可能只需要确保所有验证者都是 PeterBlum 即可捕获所有验证者。
这不是最好的解决方案,但比我迄今为止得到的要好。我仍然愿意接受“Page_IsValid”部分的答案。
| 归档时间: |
|
| 查看次数: |
20708 次 |
| 最近记录: |