根据要求,我在服务器端的PageLoad事件页面中禁用了所有验证控件。
点击提交按钮我想激活它们并验证页面,如果页面没问题,请提交其他明智的信息。
我能够启用所有验证器,但我无法理解的一件事是它们不验证页面。我设置了警报并检查它们是否已启用,但它们不验证页面并让页面提交。
我很抱歉我无法得到我错的地方,可能需要调用一些验证方法,或者我应该防止按钮的默认行为。请指导我。
以下是我的剧本:
<script type="text/javascript">
function NextClicked() {
var _ddlStatus = document.getElementById("<%=ddlEmpStatus.ClientID%>");
var _selectedIndex = _ddlStatus.selectedIndex;
if (_selectedIndex == 0) {
alert("Nothing selected");
}<br/>
else<br/>
if (_selectedIndex == 1) {
for (i = 0; i < Page_Validators.length; i++) {
Page_Validators[i].Enabled = true;
}
}
}
</script>
答案 0 :(得分:1)
从服务器,您必须在按钮单击之前启用它们;否则,我认为你需要遍历服务器端集合并启用它们,并明确调用它们的validate()方法。
或者,您也可以尝试使用客户端validatorenable方法(http://forums.asp.net/t/1175267.aspx)来启用它们。
如果通过从服务器设置Enabled = false来禁用,则即使使用客户端API也可能会出现问题。但不确定,只知道这可能是其他控件的问题。
HTH。