Página 1 de 2

Dependencia de tres niveles en Ajax

NotaPublicado: 2012-10-22 15:01 @667
por seafree
Colegas: buenas tardes, estoy haciendo CGI con Ajax y necesito hacer dependencia entre SELECT de tres niveles. ¿Me pueden orientar al respecto?. Agradezco su atención.

Re: Dependencia de tres niveles en Ajax

NotaPublicado: 2012-10-22 15:17 @678
por explorer
Léete antes este hilo: Ejemplo de AJAX en Perl, y luego nos cuentas si necesitas más ayuda.

Re: Dependencia de tres niveles en Ajax

NotaPublicado: 2013-02-26 15:46 @699
por seafree
Buenas tardes. Retomando el tema descrito anteriormente les agradeceré me apoyen a usar correctamente CGI y Ajax en la dependencia de select en tres niveles. Retomé la respuesta enviada pero no me queda muy claro, así les pido por favor me ayuden al respecto.

El módulo de Ajax que tengo instalado es: Ajax 0.707 y el servidor está en Linux Red Hat.

Continuando con el tema anterior, estoy haciendo ejemplos existentes en sitio http://perlenespanol.com/tutoriales/cgi ... _ajax.html La compilación sale bien, pero vía web muestra Internal Server Error. La versión inicial del Ajax era CGI-AJAX-0.695 y lo actualice a CGI-Ajax-0.707. Me pueden auxiliar, por favor, guiándome qué es lo estoy haciendo de manera incorrecta.

Espero su respuesta, gracias.

Re: Dependencia de tres niveles en Ajax

NotaPublicado: 2013-02-26 17:27 @769
por explorer
Sin ver el código, es difícil decir dónde está el error.

El mensaje de error Internal Server Error es muy vago. Puede aplicarse a muchas cosas. Incluso a que el programa no tiene permiso de ejecución por parte del servidor web.

Si tienes acceso al registro (log) del servidor web, te dirá allí la razón del porqué del mensaje de error.

Re: Dependencia de tres niveles en Ajax

NotaPublicado: 2013-02-28 13:11 @591
por seafree
Totalmente de acuerdo contigo, me desesperé un poco, sorry.

Lo que sí te agradeceré es tu apoyo con el select en tres niveles, gracias.

Re: Dependencia de tres niveles en Ajax

NotaPublicado: 2013-02-28 13:23 @599
por explorer
En el enlace que te puse, hay un ejemplo de select a dos niveles, así que un tercer nivel no sería nada complicado de añadir...

Re: Dependencia de tres niveles en Ajax

NotaPublicado: 2013-02-28 15:42 @695
por seafree
Hola, listo, solo tenía que correr otros scripts y todo funciona como debe ser. Gracias.

Re: Dependencia de tres niveles en Ajax

NotaPublicado: 2013-03-01 02:53 @162
por explorer
Pues, ¡enhorabuena!, pero nos gustaría saber a qué scripts te refieres...

Re: Dependencia de tres niveles en Ajax

NotaPublicado: 2013-03-01 09:54 @454
por seafree
Verás, ejecuto dos funciones onChange:

carga_tcomp(this.value,subestacion.value,tipo_evento.value);
carga_eq (this.value,subestacion.value,tipo_evento.value);

En la primera lleno un SELECT con los tipos de componentes de un componente seleccionado, perteneciente a una subestación y un evento.

En la segunda lleno el SELECT con los equipos asociados al tipo de componente seleccionado, por supuesto de la subestación y tipo de evento correspondiente.

¿Hay alguna forma SMART de realizar lo anterior? Por esa razón me estaba enfrascando :(

Re: Dependencia de tres niveles en Ajax

NotaPublicado: 2013-03-01 10:09 @464
por explorer
Si cada evento OnChange debe disparar una consulta, no veo cómo se puede abreviar... salvo... que alguna de las consultas sea muy pequeña. Quiero decir: si una de las consultas da como resultado unos valores "pequeños" (unas docenas de resultados, por ejemplo), en lugar de hacer una consulta a la base de datos, puedes enviar todos esos resultados junto con el propio código HTML de la página. Así te ahorras llamadas Ajax ya que los valores están dentro del código HTML (o JavaScript).

Otra opción sería la de no disparar el evento OnChange hasta que tengamos al menos dos condiciones satisfechas, para averiguar el tercer dato. En lugar de disparar eventos en cada cambio de cada select, solo lo hacemos cuando en dos de ellos tengamos datos significativos.

Depende de la consulta que tengamos que hacer en cada caso, claro.