2013-04-30 70 views
0

当用户转到dashboard.php?option = home时,他们只提供support_ticket_div,而当他们去dashboard.php?option = ucp,它们仅与control_panel_div一起呈现。出于某种原因,当我点击带有上述链接的按钮时,DIV不会隐藏。相反,两个DIV都显示出一个在另一个之下。这是一个的DIV之前把我的PHP代码:PHP和Javascript-DIVs不会隐藏

<?php 
    if($_GET['option'] == 'home') { ?> 
    <script type="text/javascript">setcontent(1);</script> <? 
    } 
    if($_GET['option'] == 'ucp') { ?> 
    <script type="text/javascript">setcontent(2);</script> <? 
    } 
?> 

这是我setcontent()的JavaScript位于标签head部分

function setcontent(id) 
{ 
    switch(id) 
    { 
     case 1: 
      document.getElementById('control_panel_div').style.display = 'none'; 
      document.getElementById('support_ticket_div').style.display = 'inline'; 
      break; 
     case 2: 
      document.getElementById('support_ticket_div').style.display = 'none'; 
      document.getElementById('control_panel_div').style.display = 'inline'; 
      break; 
    } 
} 

功能谁能帮助我吗?谢谢...

+0

”这是我的PHP代码放在DIVs之前“试着把它放在div后面... – j08691 2013-04-30 19:30:52

+0

另外,试着把alert(id);在函数中确保代码正在执行,并且id是您的想法。 – rncrtr 2013-04-30 19:32:25

+0

尝试在你的开关中添加一个默认情况,以查看你的ID是否正确 – Romain 2013-04-30 19:33:39

回答

0

你试图之前存在的元素来执行你的函数在DOM中。

“这是我的PHP代码放在DIVs之前”试着把它放在div后面。 “

+0

是的,它工作的队友:) – 2013-04-30 19:47:14

0

试试这个:

case 1: ... 
     alert("case 1"); 
     break; 

default: 
     document.getElementById('control_panel_div').style.display = 'none'; 
     document.getElementById('support_ticket_div').style.display = 'none'; 
     break; 

,如果你经常去的默认部分,尽量parsint()您的ID