JavaScript - Uso onchange

 
Vista:

Uso onchange

Publicado por marcoss (11 intervenciones) el 07/06/2007 17:01:30
Hola, estoy programando en php y javascript y tengo un problemilla, tengo que usar 2 onchange con un mismo select y no sé cómo es. El código e el siguiente:

- Este es el select, y dependiendo de la opción que elija el usuario deberá mostrar después los 2 fieldset que vienen a continuación:

[PHP]<select name="cUnidadE" onchange="chgDC(this)" onchange="chgCFGM(this)">';
while ($fila1= mysql_fetch_assoc($result1)){
echo '<option value='.$fila1['nUnidad'].'>'.$fila1['nombreUnidad'].'</option>';
}
echo '</select>[/PHP]

- El primer fieldset es:

[PHP]    <fieldset size="10" style="display:block" id="fs0"><p><legend>Matriculación</legend></p><p></p><label>
<input type="radio" name="cPorModulos" value="1">Matriculación completa</label>  <label>
<input type="radio" name="cPorModulos" value="0">Matriculación por módulos</label><br>
</fieldset>';[/PHP]

Este fieldset me funcionaba bien hasta que introduje el 2º fieldset y el segundo onchange.

- El segundo fieldset es:

[PHP]echo'<fieldset size="10" style="display:block" id="fs1">';
//Listo las unidades que son CFGM o PCPI (educación) o DC
$sql1 = "select * from unidades as U, estudios as E, nombreEstudios as NE where (((U.codigoSeccion=E.codigoSeccion) && (U.codigoCurso=E.codigoCurso) && (NE.codigoSeccion=E.codigoSeccion)) && ((NE.nombreSeccion='PCPI') || (NE.nombreSeccion='PGS') || (NE.nombreSeccion='CFGM') || (NE.nombreSeccion='DC')))";
$result1 = mysql_query($sql1, $GLOBALS["miConexion"]) or die(mysql_error());
echo'
   Grupo de referencia: <select name="cGrupoReferencia">';
while ($fila1= mysql_fetch_assoc($result1)){
echo '<option value='.$fila1['nUnidad'].'>'.$fila1['nombreUnidad'].'</option>';
}
echo '</select>

   Parte práctica: <select name="cPartePractica">';
echo '<option value="--">--</option>';
echo '<option value="Automoción">Automoción</option>';
echo '<option value="Confección">Confección</option>';
echo '<option value="Oficina">Oficina</option>';
echo '</select>';
echo'</fieldset>';[/PHP]

- Y el código javascript es:

[CODE]//Esta función sirve para ocultar 'por módulos' si la unidad que elige el usuario no es un CFGM
echo'<script>';
echo'function chgCFGM(o){
var n=o.value;';
while ($fila1= mysql_fetch_assoc($result1))
echo'document.getElementById("fs0").style.display=(n=='.$fila1['nUnidad'].'?"block":"none");';
echo'}';
echo'</script>';[/CODE]

- La segunda función javascript:

[CODE]//Esta función sirve para ocultar los datos de DC
echo'<script>';
echo'function chgDC(o){
var n=o.value;';
while ($fila1= mysql_fetch_assoc($result1))
echo'document.getElementById("fs1").style.display=(n=='.$fila1['nUnidad'].'?"block":"none");';
echo'}';
echo'</script>';[/CODE]


Y no sé porqué no me funciona, cuando tenía sólo el primer fieldset y el primer onchange me funcionaba bien, pero al introducir el segundo, el primero sigue funcionando, pero el segundo ya no me funciona.

A ver si me podéis echar una mano....Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

No te compliques

Publicado por webness (13 intervenciones) el 07/06/2007 20:17:05
No te compliques la vida, solo usa un OnChange, y en el metodo de javascript, recoges el valor del elemento que seleccionaste, ya sea, el que te pinta el primer textfield o el segundo, y con ese valor, recargas la pagina, y en tu escript, preguntas por cual valor tiene y pintan el respectivo textfiel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar