PHP - Evento onChange

 
Vista:

Evento onChange

Publicado por Pedro Aguilar (7 intervenciones) el 18/09/2006 19:45:40
hola compañeros,

Estoy tratando de hacer un a página en la que cargo algunos menus(selects html) con consultas SQL, eso funciona, la idea es que necesito que al momento de seleccionar una de las opciones del menu me despliegue otra lista a partir del valor que recibio de esa seleccion.

estoy tratando de llamar una funcion utilizando los eventos OnBlur y el OnChange, pero hasta el momento no han salido, alguien tiene un ejemplo que me pueda servir de ayuda?

Por lo pronto gracias por su atención.
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

RE:Evento onChange

Publicado por FiSiCo (403 intervenciones) el 18/09/2006 19:50:24
checa esto

con onchange recargas la pagina haciendo la consulta de la opcion seleccionada

http://javascripts.astalaweb.com/Formularios%20V/1_Formularios%20V.asp

es una idea espero te sirva de algo
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

RE:Evento onChange

Publicado por Pedro Aguilar (7 intervenciones) el 19/09/2006 00:12:22
Nop, no funciona con lo q intento, envio un segmento de código:

<?
function escribe($clave){
echo "HOLA"; //es para ver si entra a la funcion, pero ni siquiera eso hace
$qry="Select nombre From materias a, grupos b, gruposcurso c where b.clave_grupo='$clave'
and b.clave_grupo=c.clave_grupo and c.clave_materia=a.clave_materia";
//---------------------------Consulta (ejecuta query)
$dts=mysql_query($qry,$cnx) or die(mysql_error()." consulta");
//----------------------------Regresa el numero de registros q regresa la consulta
$ren=mysql_num_rows($dts);
$datos=mysql_fetch_object($dts);
echo $datos->nombre;
}
?>
<select name="clave_grupo" onClick="escribe(this.value);">
<?
mysql_select_db('BD',$cnx);
$consulta="select clave_grupo, nombre as carrera from grupos, carreras where clave_carrera=carrera and estado='A' order by clave_grupo ";
// order by carrera, clave_grupo";
$resultado=mysql_query($consulta, $cnx) or die (mysql_error().'consulta');
$ren= mysql_num_rows($resultado);
for ($i=0; $i<$ren; $i++)
{
$datos=mysql_fetch_object($resultado);
echo "<option value=$datos->clave_grupo>"."$datos->clave_grupo, $datos->carrera"."</option>";
}
?>
</select>

despues de seleccionar una opcion, solo muestra la advertencia en la barra de estado de q hay un error en la pag, pero ya no hace nada.
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

RE:Evento onChange

Publicado por Mike79 (669 intervenciones) el 19/09/2006 01:07:30
Ok, el problema es algo muy sencillo de decir, pero no tan facil de solucionar.

NO puedes mesclar codigo de PHP con Javascript.
Por lo menos no de esa manera.

El problema es que PHP se ejecuta primero, en el servidor, genera una página web (HTML, CSS, XML, XHTML, JavaScript, etc...), y la página es enviada al navegador del usuario.

JavaScript se ejecuta en el navegador de la persona que esta viendo la página web. Despues de que se ejecuto el PHP. Cuando tu estas viendo la página con JavaScript, el proceso de PHP que genero la página, tiene rato que ya no existe. Es por eso, que en JavaScript no se puede usar una función creada en PHP.

Espero haberme explicado.

La solución que te ofrece fisico, es buena, otra opción un poco mas laboriosa es usar ajax.

Explicado en terminos sencillos, si bien no puedes invocar a una función de php asi como quieres hacerlo, si puedes pedirle al JavaScript que valla y le diga al servidor que ejecute un nuevo php, el cual va a arrojar un nuevo resultado. Ya sea que se muestre de nuevo una página web donde se muestren la misma información, pero con los combo ya llenos como el ejemplo de fisicio. O bien, que el javascript reciva la pagina y los parsee, para llenar los combos en tiempo real.

Si gustas pregunta en el foro de JavaScript para mas información.
O pregunta en este foro, si tienes mas preguntas acerca de php.
Saludos!
-
Miguel Angel
Mike79
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

RE:Evento onChange

Publicado por FiSiCo (403 intervenciones) el 19/09/2006 21:05:36
checa esta liga la puedes adaptar a un select ya que utiliza un campo tipo text es AJAX pero se puede adaptar a lo que necesitas
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

Evento onChange

Publicado por Oscar Diaz (1 intervención) el 03/04/2014 22:48:58
no se si es muy tarde.. pero espero funcione para alguien mas
1. http://www.tutorialesenvideo.net/select-o-combox-dependientes/
2. encontre la info buscando "selects anidados o dependientes"
en resumen es basicamente crear un div en cual se cargara el contenido de una pagina web usando el evento onchange
mas o menos de esta forma...

<select name='marca' id='marca' onchange="from(document."nombre del form".marca.value,'nombredel div','pagina de destino.php')">

y en la pagina de destino escribes todo lo que necesitas... al cambiar el estado del select enviara (marca.value) a la pagina de destino... y con lo que envia puedes CONDIOCIONAR la consulta!!!

Saludos
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