Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/07/2009, 02:39
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 10 meses
Puntos: 574
Respuesta: ayuda con Listas desplegables dependientes + vinculos

Te esta funcionando correctamente... esta llamando a pagina.htm y le pasas por post el contenido del formulario...

El problema es que una pagina htm (por lo tanto estatica) no sabra que hacer con el post....

Debes llamar una pagina dinàmica (php, jsp, asp...) que pueda variar en funcion de lo que recibe por post.

Otra opcion es si vas a llamar paginas estaticas, es tener las distintas direcciones en el script igual que tienes las opciones para el segundo combo y usarlas...

Algo así...

Código HTML:
<html>

<script type="text/javascript" language="javascript">
var direccionesRoc=new Array();
var direccionesAca=new Array();
direccionesRoc[0]="rock1.htm";
direccionesRoc[1]="rock2.htm";
direccionesAca[0]="barroco.htm";
direccionesAca[1]="sigloxx.htm";
direccionesAca[2]="romantico.htm";

function direccion(form){
var selec = form.tipos.options;
var combo = form.estilo.options;
    if (selec[1].selected == true){
	     document.form.action=direccionesRoc[combo.selectedIndex];
	}
    if (selec[2].selected == true){
	     form.action=direccionesAca[combo.selectedIndex];
	}

        /*Se puede quitar una vez vemos que funciona*/
	alert(form.action);

}



function agregarOpciones(form)
{
var selec = form.tipos.options;
var combo = form.estilo.options;
combo.length = null;

    if (selec[0].selected == true)
    {
    var seleccionar = new Option("Esperando selección");
    combo[0] = seleccionar;
    }

    if (selec[1].selected == true)
    {
    var popular1 = new Option("Rock de los 90");
    var popular2 = new Option("Rock de los 80");
    combo[0] = popular1;
    combo[1] = popular2;
    }

    if (selec[2].selected == true)
    {
    var academica1 = new Option("Musica del Barroco");
    var academica2 = new Option("Musica del Siglo XX");
    var academica3 = new Option("Música del Romantisismo");
    combo[0] = academica1;
    combo[1] = academica2;
    combo[2] = academica3;
    }
}
</script>

<body>
<form name="ejemplo2" method="POST" target="_blank" action="">

<select name="tipos" onChange="agregarOpciones(this.form)">

<option value="">[seleccione una opción]</option>

<option value="musicapopular">Música Popular (Rock)</option>

<option value="musicaacademica">Música Académica</option>

</select>

 

<select name="estilo" onChange="direccion(this.form)">

<option value="">Esperando selección</option>

</select>

 

<input type="submit" value="Enviar"></form>
</body>
</html> 

Quim

Última edición por quimfv; 22/07/2009 a las 02:51