验证控件未验证在客户端使用JavaScript启用

时间:2010-06-11 11:56:26

标签: asp.net javascript asp.net-2.0

根据要求,我在服务器端的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>

1 个答案:

答案 0 :(得分:1)

从服务器,您必须在按钮单击之前启用它们;否则,我认为你需要遍历服务器端集合并启用它们,并明确调用它们的validate()方法。

或者,您也可以尝试使用客户端validatorenable方法(http://forums.asp.net/t/1175267.aspx)来启用它们。

如果通过从服务器设置Enabled = false来禁用,则即使使用客户端API也可能会出现问题。但不确定,只知道这可能是其他控件的问题。

HTH。