Foros del Web » Creando para Internet » HTML »

No funciona el onchange en select

Estas en el tema de No funciona el onchange en select en el foro de HTML en Foros del Web. Hola a todos, Estoy teniendo un problema y no puedo darme cuenta cual es el error. Cuando selecciono un valor del select se deberia ejecutar ...
  #1 (permalink)  
Antiguo 12/08/2011, 16:27
 
Fecha de Ingreso: mayo-2011
Mensajes: 11
Antigüedad: 12 años, 11 meses
Puntos: 1
No funciona el onchange en select

Hola a todos,
Estoy teniendo un problema y no puedo darme cuenta cual es el error. Cuando selecciono un valor del select se deberia ejecutar una funcion javascript pero por alguna razon esto no sucede.

Este es el codigo html:
Código:
<tr>
   <td width="50">Vehiculo:</td>
   <td width="50">
   <select id="nmvehiculo" style="background-color: #ffffa0" name="nmvehiculo" onChange="func_fecha(this.value)">
   <option value="vacio">Seleccionar vehiculo</option>

<?php while($row=mysql_fetch_array($result)) { ?>
<option value="<?php echo $row['ID'];?>"><?php echo $row['vehiculo'];?></option>
<?php } ?>

  </select></td>
</tr>
<tr>
  <td><br>Fecha:</td>
  <td>
  <div id="fechadiv">
  <br />
   <select style="background-color: #ffffa0" name="nmfecha" onChange="func_cond(this.value,document.getElementById('nmvehiculo').value)">
  <option value="vacio">Debe seleccionar vehiculo</option>       
  </select>
  </div>
  </td>
</tr>
Hay un poco de PHP pero es solo para llenar el primer select.
El primer select funciona bien al igual que la funcion "func_cond()", probe todo en firefox y observando con el firebug.

Si sirve de algo, la funcion en javascript es:
Código:
function func_cond(fecha, id_vehiculo) {		
		alert("Llamada a funcion conductor");		
		var strURL="getconductor2.php?fecha="+fecha+"&id_vehiculo="+id_vehiculo;
		var req = getXMLHTTP();
		
		if (req) {
			
			req.onreadystatechange = function() {
				if (req.readyState == 4) {
					// only if "OK"
					if (req.status == 200) {						
						document.getElementById('conddiv').innerHTML=req.responseText;						
					} else {
						alert("Ocurrio un problema usando XMLHTTP:\n" + req.statusText);
					}
				}				
			}			
			req.open("GET", strURL, true);
			req.send(null);
		}		
	}
Si ejecuto la funcion func_cond desde el firebug, el select dentro del div "conddiv" se llena correctamente (con AJAX). Es por eso que creo que hay algun error con el segundo select.
Cualquier ayuda se agradece.

Última edición por manuperetti; 12/08/2011 a las 16:35
  #2 (permalink)  
Antiguo 13/08/2011, 06:38
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: No funciona el onchange en select

según el html que muestras, tu segundo combox sólo tiene una opción (opción por defecto). de tal manera que el evento onchange() nunca ocurre. si ese es realmente tu html, has de usar el evento onclick, para poder invocar a la función
  #3 (permalink)  
Antiguo 19/08/2011, 16:33
 
Fecha de Ingreso: mayo-2011
Mensajes: 11
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: No funciona el onchange en select

Gracias muy buena tu observacion.
Lo q pasaba es que al ejecutar la funcion con el onchange del primer select, se reemplazaba el segundo select por otro con varias opciones mediante ajax. Esto lo hacia otro srcipt php y es ahi donde no estaba definido el onchange.

Etiquetas: onchange, php, select
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 09:34.