Asp.net 使用JavaScript在客户端启用时未验证验证控件

Asp.net 使用JavaScript在客户端启用时未验证验证控件,asp.net,javascript,asp.net-2.0,Asp.net,Javascript,Asp.net 2.0,根据要求,我在服务器端禁用了PageOn-PageLoad事件中的所有验证控件 单击“提交”按钮,我想激活它们并验证页面,如果页面正常,则提交其他内容 我能够启用所有验证程序,但有一件事我无法理解,那就是它们不会验证页面。我设置警报并检查它们是否已启用,但它们不会验证页面并让页面提交 很抱歉,我不能理解我的错误,可能需要调用一些验证方法,或者我应该阻止按钮的默认行为。请引导我 以下是我的脚本: <script type="text/javascript"> function

根据要求,我在服务器端禁用了PageOn-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>

函数NextClicked(){
var_ddlStatus=document.getElementById(“”);
var _selectedIndex=_ddlStatus.selectedIndex;
如果(_selectedIndex==0){
警报(“未选择任何内容”);
}
否则
如果(_selectedIndex==1){ 对于(i=0;i
从服务器,您必须在单击按钮之前启用它们;否则,我认为您需要遍历服务器端集合并启用它们,并显式调用它们的validate()方法

或者,您也可以尝试使用客户端validatorenable方法()来启用它们

如果通过在服务器上设置Enabled=false来禁用,则即使完全使用客户端API,也可能会出现问题。虽然不确定,但要知道其他控件可能会出现问题


HTH.

为什么您的样本中有

标签?如果这是一个直接的复制和粘贴,那可能就是问题所在。嗨,Codesleuth,不,它不是代码的一部分,我把它放在这里是为了格式化页面帖子。在帖子背面,我循环通过这些验证程序,然后调用Validate()方法来进行服务器端验证。但问题在于客户方面。请尝试链接中的validatorEnable()方法;检查本节的客户端API部分:但是,如果在服务器上设置Enabled=“false”,我不知道这是否有效;您可能需要在服务器上启用它,并在客户端加载页面时禁用它。。。不是100%确定。。。