在我的提交按钮上,我想要做的是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); } }
小智.. 8
更改此行"if(typeof(Page_Validators)=="undefined")"to if(typeof(Page_Validators)!="undefined")
更改此行"if(typeof(Page_Validators)=="undefined")"to if(typeof(Page_Validators)!="undefined")
根据" ASP.NET验证深度 " 页面上的"客户端API"部分:
Page_IsValid | 布尔变量| 指示页面当前是否有效.验证脚本始终保持最新.
实际上,在启用了ASP.NET客户端验证的表单上的FireBug中查看此变量时,它会在我填写表单的详细信息(错误或正确)时更新.
显然,如果您已在验证程序或验证摘要上禁用了客户端脚本,则此变量将无法使用.