【发布时间】:2011-06-27 20:31:41
【问题描述】:
在我的 asp.net 表单上,我想在验证器失败时禁用 submit 按钮——即任何时候Page_isValid = false——然后重新启用它。
我可以通过响应每个控件的onchange 事件并测试Page_isValid 来做到这一点,但我更愿意响应变量本身的变化,或者执行执行变化。
根据我目前的研究,这是我编造的:
Sys.Application.add_load(AddValidatorHandlers);
function AddValidatorHandlers() {
var validatorList;
try { validatorList = Page_Validators; } catch (err) { }
if (validatorList) {
for (i in validatorList) {
validatorList[i].onpropertychange = function () { "MY CODE GOES HERE" };
}
}
}
它有效,但效率不高。我必须遍历所有验证器,而且我的函数总是连续触发多次。
有没有一种方法可以让我简单地 (a) 响应 Page_isValid 变量的更改?或者(b) 得到验证组 的列表而不是单个验证器?
谢谢!
【问题讨论】:
-
顺便说一句,奇怪的 try/catch 是因为我的验证器位于 GridView 控件中,并且当它不处于编辑模式时,请求 Page_Validators 变量会导致错误。如果有更好的方法来做到这一点——我确信有——我想听听。
标签: javascript asp.net events validation