禁用隐藏面板中的asp验证控件

Disabling asp validation controls in a hidden Panel

本文关键字:asp 验证 控件 隐藏      更新时间:2023-09-26

在我的asp页面中,我使用了两个asp面板控件。第二个面板不可见,因为它的样式属性设置为隐藏。面板2通过javascript代码显示,该代码根据面板1中复选框的值将样式属性更改为visible。在回发时,尽管面板2被隐藏,但会弹出asp验证,并且不会发生回发。我试图通过javascript禁用服务器控件,但它不起作用。

有人能帮我吗?

function DisablePanel() {
var div_to_disable =document.getElementById('<%=Panel1.ClientID%>').getElementsByTagName("input");
var children = div_to_disable;
for (var i = 0; i < children.length; i++) {
children[i].disabled = true;
    };
}
function EnablePanel() {
var div_to_disable = document.getElementById('<%=Panel1.ClientID     %>').getElementsByTagName("input");
    var children = div_to_disable; //.childNodes;
    for (var i = 0; i < children.length; i++) {
        children[i].disabled = false;
    };
}
   function ShowPanel2() {
   var panel = document.getElementById('<%=Panel2.ClientID %>');
   if (panel.style.visibility == 'hidden') {
       EnablePanel();
       panel.style.visibility = 'visible';
   }
   else { DisablePanel();
       panel.style.visibility = 'hidden';
} 

这些帖子可能会对您有所帮助;基本上,你只需要在禁用方法调用后调用ASP.NET内置的JS函数"ValidatorEnable"

启用/禁用特定";ValidationGroup";使用jQuery?

http://geekswithblogs.net/jonasb/archive/2006/08/11/87708.aspx