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

时间:2012-02-25 08:09:30

标签: javascript

在我的asp页面中,我使用了2个asp面板控件。第二个面板是不可见,因为它的样式属性设置为hidden.Panel 2通过javascript代码显示,它改变了样式属性根据面板1中复选框的值,可见。 在回发时虽然面板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';
} 

1 个答案:

答案 0 :(得分:0)

这些帖子可能对您有所帮助;基本上你必须在禁用方法调用

之后调用ASP.NET内置的JS函数“ValidatorEnable”

Enable/disable asp.net validator controls within a specific "ValidationGroup" with jQuery?

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