Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/06/2007, 09:25
marcospuig
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 17 años, 3 meses
Puntos: 0
Problema con el uso de onchange

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:


Código 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
- El primer fieldset es:

Código PHP:
    &nbsp&nbsp <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>&nbsp&nbsp<label>
    <
input type="radio" name="cPorModulos" value="0">Matriculación por módulos</label><br>
    </
fieldset>; 
Este fieldset me funcionaba bien hasta que introduje el 2º fieldset y el segundo onchange.

- El segundo fieldset es:

Código 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
'
    &nbsp&nbsp Grupo de referencia: <select name="cGrupoReferencia">'
;
    while (
$fila1mysql_fetch_assoc($result1)){
  echo 
'<option value='.$fila1['nUnidad'].'>'.$fila1['nombreUnidad'].'</option>';
    }
echo 
'</select>

    &nbsp&nbsp 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>'
- Y el código javascript es:


Código:
//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>';

- La segunda función javascript:

Código:
//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>';


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