Código :
<script type="text/JavaScript">
<!--
function menuover(obj, bola){
obj.style.backgroundColor="";
obj.style.color="#00FF00";
bola.src="../verde.gif";
}
function menuout(obj, bola){
obj.style.backgroundColor="";
obj.style.color="#FFFFFF";
bola.src="../blanca.gif";
}
function submenuover(obj, subbola){
obj.style.backgroundColor="";
obj.style.color="#FFFF00";
subbola.src="../amarilla.gif";
}
function submenuout(obj, subbola){
obj.style.backgroundColor="";
obj.style.color="#FFFFFF";
subbola.src="../blanca.gif";
}
function abre_cat(r){
document.datos.cat_sel.value=r;
alert(r);
document.datos.subcat_sel.value="ninguna";
document.datos.submit();
}
function abre_subcat(r,n){
document.datos.cat_sel.value=r;
document.datos.subcat_sel.value=n;
document.datos.submit();
}
function envia_subcat(){
cadena=buscador.subcategoria(buscador.subcategoria.selectedIndex).value;
subcadenas=cadena.split("-");
categ=subcadenas[0];
subcateg=subcadenas[1];
document.datos.cat_sel.value=categ;
document.datos.subcat_sel.value=subcateg;
if (subcateg!=undefined) document.datos.submit();
}
//-->
</script>
</head>
<table width="792" border="0" align="center" cellpadding="0" cellspacing="0" background="fondo_tabla_principal.jpg">
<tr>
<td>
<?php
$categorias=mysql_query("select id_cat, categoria from categorias", $db) or die ("error al cargar categorias");
while ($categoria=mysql_fetch_row($categorias)){
echo("".$cat_sel."");
if($cat_sel==$categoria[1]){
echo("<font class='categorias' style='color:red;cursor:default'><img name='".$categoria[0]."' src='../roja.gif' width=10 height=10 border=0> ".$categoria[1]."</font><BR>\n");
$familias=mysql_query("select id_fam, familia, categoria from familias where categoria=\"$cat_sel\"", $db) or die ("error al cargar familias");
while ($familia=mysql_fetch_row($familias)){
echo("<a href='#' onmouseover=\"submenuover(this, subbola".$familia[0].")\" onmouseout=\"submenuout(this, subbola".$familia[0].")\" onclick=\"abre_subcat('".$categoria[1]."','".$familia[1]."')\" class='subcategorias'> <img name='subbola".$familia[0]."' src='../blanca.gif' width=10 height=10 border=0> ".$familia[1]."</a><BR>\n");
}
}else{
echo("<a href='#' onmouseover=\"menuover(this, bola".$categoria[0].")\" onmouseout=\"menuout(this, bola".$categoria[0].")\" onclick=\"abre_cat('".$categoria[1]."')\" class='categorias'><img name='bola".$categoria[0]."' src='../blanca.gif' width=10 height=10 border=0> ".$categoria[1]."</a><BR>\n");
}
}
?>
</td>
</tr>
</table>
<form method="POST" name="datos" id="datos" action="cata.php">
<input type="hidden" name="cat_sel" value="">
<input type="hidden" name="subcat_sel" value="">
</form>Bien lo que hace es que me muestre un menu desde una base de datos y cuando pulse en el menu se despliegue la subcategoria consultando la base de datos. Para ello guardo la caegoria en un campo oculto o mando a una funcion que contiene un submit para que guarde la categoria para asi poder realizar una consulta a la bse datos con la categoria seleccionada. Pero el fallo esta en que no envia la variabe de nuevo, con lo cual no hace la consulta. Puse un alert sobre la vaiable que mando a la funcion antes de hacer el submit y me da el valor, pero cuando hace el submit se pierde el valor de la variable y esta no esta en ninguna variable ni nada.
Gracias espero vuestra ayuda porque no se que puede ocurrir.
