2010-06-11 108 views
0

根据要求,我禁用了服务器端PageLoad事件的页面中的所有验证控件。验证控件未在使用JavaScript在客户端启用时进行验证

点击提交按钮我想激活它们并验证页面,如果页面没问题,请提交其他不明智的提交。

我能够启用所有验证器,但是我无法理解的一件事是他们不验证页面。我设置了警报并检查它们是否已启用,但它们不验证页面并让页面提交。

对不起,我不能得到我错了,我可能需要调用一些验证方法,或者我应该防止按钮的默认行为。请指导我。

下面是我的脚本:

<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

为什么你的样本中有'
'标签?如果这是直接复制和粘贴,那可能是问题所在。 – Codesleuth 2010-06-11 12:00:01

+0

hi Codesleuth, 不,它不是代码的一部分,我把它放在这里用于格式化页面文章。 – haansi 2010-06-11 12:06:30

回答

1

从服务器中,你必须让他们按一下按钮之前,已启用;否则,我认为你需要遍历服务器端集合并启用它们,并且明确地调用它们的validate()方法。

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

如果您通过在服务器中设置Enabled = false来禁用,则甚至可以完全使用客户端API。不知道,只是知道这可能是其他控件的问题。

HTH。

+0

在回发后,我循环遍历这些验证器,并调用Validate()方法进行服务器端验证。但问题在客户端。 请指教 – haansi 2010-06-11 12:42:09

+0

尝试链接中的validatorEnable()方法;请检查此客户端API部分:http://msdn.microsoft.com/en-us/library/aa479045.aspx但是,我不知道,如果您在服务器上设置Enabled =“false”,这将工作;你可能需要让它在服务器上启用,并禁用客户端的页面加载...不是100%确定的... ... – 2010-06-11 14:06:35

相关问题