<script language=javascript type="text/javascript"> 
function PanelChange() 

var p=document.getElementById("<%=Panel_UserInfo.ClientID%>"); 
if(p.style.display=="") 

p.style.display="none"; 

else 

p.style.display=""; 


</script> 
上面的代码可以使ID为Panel_UserInfo的Panel显示或隐藏 
但我的页面上有好几个Panel 我想将Panel的ID作为传递参数,来对他们进行显示或隐藏: 
<script language=javascript type="text/javascript"> 
function PanelChange(PanelID) 

var p=document.getElementById("<%=PanelID.ClientID%>"); 
if(p.style.display=="") 

p.style.display="none"; 

else 

p.style.display=""; 


</script> 
但这样写出错:
错误 1 当前上下文中不存在名称“PanelID” D:\Visual Studio 2005 Projects\_NetShop\User\UserInfo.aspx 7
 
应该怎么写?

解决方案 »

  1.   

    <script language=javascript type="text/javascript"> 
    function PanelChange(PanelID) 

    var p=document.getElementById(PanelID); 
    if(p.style.display=="") 

    p.style.display="none"; 

    else 

    p.style.display=""; 


    </script> 
    使用PanelID.ClientID为参数试试
      

  2.   

    你看一下网页生成的panel的HTML代码是什么,上面有标签与ID号,拿出来用
    document.getElementById("")应该就可以了
      

  3.   

    看看panel生成的HTML代码是什么,把生成的ID拿过来用就行了
    document.getElementById("")
      

  4.   


        function showdiv(){
        var pne = document.getElementById("PanelID");
                    if(pne .style.display == "none")
                    {
                        pne .style.display="block"
                    }
                    else
                    {
     
                        pne .style.display="none"
                    }
    }
      

  5.   

    <script language=javascript type="text/javascript"> 
    function PanelChange(PanelID) 

    var p=document.getElementById(PanelID); 
    if(p.style.display=="") 

    p.style.display="none"; 

    else 

    p.style.display=""; 


    </script>
    调用: 
    PanelChange("<%=PanelID.ClientID%>")(注意:双引号之间不能有空格)
      

  6.   

    <script language=javascript type="text/javascript"> 
    function PanelChange(PanelID) 

    if(PanelID.style.display=="") 

    PanelID.style.display="none"; 

    else 

    PanelID.style.display="block"; 


    </script> 
    试试。
      

  7.   

    <panel id='pnl01' onclick='show(1)' / >
    <panel id='pnl02' onclick='show(2)' / >
    <panel id='pnl03' onclick='show(3)' / >
    <panel id='pnl04' onclick='show(4)' / >function show(obj)
    {
    //获得带有panel的标签
    var num = document.getElementByTagName("panel").length;
    //循环隐藏所有的 panel
    for(var i= 1 ;i = num ; i ++)
    {
    var name = "pnl0"+i;
    document.getElementById(name).style.display = "none";
    }
    //显示当前panel
    var pl = "pnl0"+obj;
    document.getElementById(pl).style.display = "";
    }
    你看看能行不?
      

  8.   

    p.style.display=""; 可以這樣寫嗎?
    你用block和none來判讀吧。