在我的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';
}
答案 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