Estoy usando un menú contractil que es muy sencillo, pero para variar necesito complicarlo. El menú está hecho en javascript, y lo estoy haciendo dinámico con PHP.
Cuando pincho en una opcion se me abren los submenus, y cuando pincho en otra opcion, se cierran los antiguos submenus y se abren los correspondientes. Hasta ahí todo perfecto.
Mi problema viene a que necesito que al abrir un submenú, y al pinchar en uno de los enlaces, cuando se recargue la página necesito que los submenús que estaban abiertos sigan abiertos... pero no se como adaptar la funcion javascript o que hacer para ello. He probado a pasar el id y al recogerlo llamar a la funcion mostrar, pensando en que se va a abrir con el id que le paso, pero no es así.
Alguna sugerencia porfavor?????
MUCHISIMAS GRACIAS DE ANTEMANO POR TODO
Os adjunto el codigo que es muy sencillo:
Función:
Código HTML:
<script> var result; function obtenerid(dentrodeque){ frase=document.getElementById(dentrodeque).innerHTML; result=new Array(); result=frase.match(/\b\s+id=[^>\s]+\b/g); for(i=0;i<result.length;i++){ result[i]=result[i].split('"').join(''); result[i]=result[i].split('id=').join(''); result[i]=result[i].split(' ').join(''); } } function mostrar(que){ for(i=0;i<result.length;i++){ if(que==result[i]){ if(document.getElementById(que).style.display=='none') { document.getElementById(que).style.display='block';}else{document.getElementById(que).style.display='none'; } }else{ eval("document.getElementById('"+result[i]+"').style.display='none'"); } } } </script>
Código HTML:
onLoad="obtenerid('contenedor_menu')"
Código PHP:
<div id="contenedor_menu" style="width:180px; margin-left:5px;">
<img src="/wga/wga_imagenes/menu_desplegable/titulo_menu.jpg" alt="Menú" width="180" border="0" align="left"><br /><br />
<!-- inicio menu 1-->
<?php
$oConn = fnOraConnect();
$aResultP=array();
$aResultH=array();
$aRes = select01_usuario($oConn,$_SESSION['usuario']);
$iUsrAdmin=$aRes[0]["usr_admin"];
if($iUsrAdmin==1){
$stUrlwId = isset($_GET['id']) ? $_GET['id'] : '' ;
if($stUrlwId){
?>
<script language="JavaScript">
mostrar('<?=$stUrlwId?>');
</script>
<? }
$aResultP = select02_urlW($oConn);
$p=0;
while ($p<count($aResultP))
{
$stUrlwId=$aResultP[$p]["urlW_id"] ;
$stUrlwDir=$aResultP[$p]["urlW_dir"];
$stUrlwNombre=$aResultP[$p]["urlW_nombre"];
?>
<div class="principal" onClick="mostrar('<?=$stUrlwId?>')"><a href="<?php if($stUrlwDir==""){echo "#";}else{echo $stUrlwDir;}?>"><img src="/wga/wga_fuentes/wga_f_estaticos/wga_f_menu/img/icon2_o.gif" width="21" height="15" border="0" align="absmiddle">
<?=$stUrlwNombre;?>
</a></div>
<div id="<?=$stUrlwId?>" style="display:none;">
<?PHP
$aResultH = select03_urlW($oConn,$stUrlwId);
$h=0;
while ($h<count($aResultH))
{
$stUrlwIdH=$aResultH[$h]["urlW_id"] ;
$stUrlwDirH=$aResultH[$h]["urlW_dir"];
$stUrlwNombreH=$aResultH[$h]["urlW_nombre"];
?>
<div class="secundario" ><a href="<?=$stUrlwDirH?>?id=<?=$stUrlwId?>"><img src="/wga/wga_fuentes/wga_f_estaticos/wga_f_menu/img/iconarrs.gif" border="0"> <?=$stUrlwNombreH; ?></a></div>
<?php
$h++;
}
?>
</div>
<?php
$p++;
}
?>
<?php
$oConn = fnOraDisconnect($oConn);
}
?>
<!--fin menu 1-->
</div>