Hola. Tengo una página en la que tengo tres select's asociados en la que al seleccionar un valor en uno, me rellena el otro select y funciona estupendamente. El problema es que cuando meto esos selects, cada uno, en un Layer, no me funciona el ejemplo. ¿A qué puede ser debido? Adjiunto el ejemplo. Gracias.
<html>
<head>
<title></title>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
function rellenasegundocombo(formulario, gastoseleccionado)
{
formulario.MODALIDAD.length=0;
formulario.SUBMODALIDAD.length=0;
<?
$count=0;
$y=0;
$link = mysql_connect("LOCALHOST");
mysql_select_db("ACCIONSOCIAL", $link);
$zSQL="SELECT idmodalidad, idayuda, modalidad FROM modalidadayuda ORDER BY modalidad ASC";
$result= mysql_query ($zSQL, $link);
$row = mysql_fetch_array($result);
do
{
?>
x = <?= trim($y) ?>;
subcat = new Array();
idayuda= "<?= $row["idayuda"]?>";
idmodalidad ="<?= $row["idmodalidad"]?>";
modalidad= "<?= $row["modalidad"]?>";
subcat [x,0]= idayuda;
subcat [x,1]= idmodalidad;
subcat [x,2]= modalidad;
if (subcat[x,0]==gastoseleccionado)
{
var option<?= trim(count) ?> = new Option(subcat[x,2], subcat[x,1]);
formulario.MODALIDAD.options[formulario.MODALIDAD.length]=option<?= trim(count)?>;
}
<?
++$count;
++$y;
}
while ($row = mysql_fetch_array($result));
?>
}
function rellenatercercombo(formulario, gastoseleccionado)
{
formulario.SUBMODALIDAD.length=0;
<?
$count=0;
$y=0;
$link = mysql_connect("LOCALHOST");
mysql_select_db("ACCIONSOCIAL", $link);
$zSQL="SELECT idsubmodalidad, idmodalidad, tipo FROM submodalidades ORDER BY tipo ASC";
$result= mysql_query ($zSQL, $link);
$row = mysql_fetch_array($result);
do
{
?>
x = <?= trim($y) ?>;
subcat = new Array();
idsubmodalidad= "<?= $row["idsubmodalidad"]?>";
idmodalidad ="<?= $row["idmodalidad"]?>";
tipo= "<?= $row["tipo"]?>";
subcat [x,0]= idsubmodalidad;
subcat [x,1]= idmodalidad;
subcat [x,2]= tipo;
if (subcat[x,1]==gastoseleccionado)
{
var option<?= trim(count) ?> = new Option(subcat[x,2], subcat[x,0]);
formulario.SUBMODALIDAD.options[formulario.SUBMODALIDAD.length]=option<?= trim(count)?>;
}
<?
++$count;
++$y;
}
while ($row = mysql_fetch_array($result));
?>
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
body,td,th
{
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
}
-->
</style></head>
<body>
<div id="Layer1" style="position:absolute; left:152px; top:16px; width:193px; height:45px; z-index:1">
<select name="MODALIDAD" onChange="rellenatercercombo(this.form, MODALIDAD.value)">
<option>Seleccione una modalidad</option>
</select>
</div>
<form name="form1" method="post" action="">
<p>
<select name="TIPOGASTO" onChange="rellenasegundocombo(this.form, TIPOGASTO.value)">
<option>Seleccione una ayuda</option>
<?
$link = mysql_connect("LOCALHOST");
mysql_select_db("ACCIONSOCIAL", $link);
$zSQL="SELECT idayuda, tipoayuda FROM tiposayuda ORDER BY tipoayuda ASC";
$result= mysql_query ($zSQL, $link);
if ($row = mysql_fetch_array($result))
{
do
{
echo "<option value=".$row["idayuda"].">".$row["tipoayuda"]."</option>";
}
while ($row = mysql_fetch_array($result));
}
mysql_free_result ();
?>
</select>
</p>
<p>
<select name="SUBMODALIDAD" >
<option>Seleccione una submodalidad</option>
</select>
</p>
<p> </p>
<p> </p>
</form>
</body>
</html>