Foros del Web » Programando para Internet » Javascript »

Problema con el uso de onchange

Estas en el tema de Problema con el uso de onchange en el foro de Javascript en Foros del Web. 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. ...
  #1 (permalink)  
Antiguo 07/06/2007, 09:25
 
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
  #2 (permalink)  
Antiguo 07/06/2007, 09:38
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
Re: Problema con el uso de onchange

<select name="cUnidadE" onchange="chgDC(this);chgCFGM(this)">';
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:38.