Duda con form y select (dinamicos?)

OsCuRiDaD

Buenas gente, creo que este es mi primer post en este subforo aunque os leo bastante!

Tengo una duda, a ver si alguien me puede orientar un poco.
Tenia pensado en tener 2 listados, llamemosle A y B.
Entonces, B depende de A, si A muestra A1 entonces B tiene q mostrar B1 tambien (segun lo que se elija en A, B carga y muestra otros valores).

Ahora mismo el problema lo tengo en que el formulario funciona en mas de 1 paso, primero se tiene que elegir una opcion de A y luego submit para que B muestre las opciones adecuadas segun lo que contenga A y lo que a mi me gustaria hacer es que B cambiase de manera dinamica segun vas clickeando en diferentes opciones de A.

Bueno espero que se me haya entendido :P.
Se podria hacer con JavaScript? (es algo que nunca he tocado, pero me lo comenzaria a ver mas en serio si aqui puedo encontrar la solucion). He trabajado un poco con PHP y ultimamente con ASP

ErAsEro_O

Deberias hacerlo con Javascript puesto que es mucho mas comodo. Si he leido bien son dos combos dependientes. Deberias poner algo asi:

<select name="A" OnChange="cambioCombo()">
<option>asd</option>
</select>

El evento es OnChange, asi cada vez que cambies algo de ese combo se ejecutra la accion cambioCombo. Ahi ya puedes toquetear con el texto de los combos :D

OsCuRiDaD

Muchas gracias por contestar, ahora por lo menos se que lo que intento es posible :D

Imaginaba que con javascript se podria hacer, pero como nunca antes lo habia tocado...

Me pondre a ello, ya contare xD

Soltrac

Se puede hacer con javascript, aunque si necesitas llamadas a BB.DD. o algo serverside, puedes hacerlo con cualquier lenguaje de programación y si quieres evitar la recarga de la página, usar AJAX.

Miminh0

ajax seria lo mas elegante

OsCuRiDaD

Ahi me habeis pillado los 2!
La verdad es que leo los datos de una base de datos, entonces mi idea era cargarlo todo y mostrar/ocultar a mi antojo con javascript.

Si de javascript ando verde, de ajax ni te digo! Todavia no tengo muy claro que es lo de ajax voy a indagar un poco :P

Soltrac

#6 Para AJAX vas a necesitar Javascript, así que hazlo con javascript si puedes hacerlo :P

Venga suerte y si necesitas ayuda pregunta.

OsCuRiDaD

#7 gracias por los animos xD

No os preocupeis, que en cuanto le coja un poco el tranquillo vuelvo a postear :P

elhamo

AJAX = Javascript asíncrono.

Mi consejo, cargalo todo y luego con Javascript muestras lo que te interese porque el volumen de datos no creo que sea muy alto.

De esta forma se cargará toda la página y funcionará todo... si tienes un host lento casi que cara al usuario mola más que tenga un tiempo de respuesta instántaneo. Si haces la query cada vez y el host es lento o tiene la mySQL (supongo esa BD) en otro host, a la larga se hace más pesado.

Un saludo.

r2d2rigo

Joder elhamo... me lo has quitado de la boca :P

Yo considero mucho mas facil precargar los datos y reestructurarlos con JavaScript (yo tengo un ejemplo hecho, aunque aplicado a tablas mas que a forms), pero vamos, es cargarlo todo en arrays y luego reescribirlo con el innerHTML dependiendo del filtro.

Mas rapido que los XML Request y menos lioso :P

elhamo

AJAX está bien para contenido "desconocido" pero si te tienes que traer 100 Bytes siempre, hazlo y punto :D

Las tecnologías están ahí para que sepamos adecuarlas al momento y lugar, C se sigue usando para muchas cosas (incluso LISP). ¿No vamos a hacerlo todo con RoR no?

Soltrac

Hombre, por supuesto. Usa AJAX solo si necesitas OBLIGATORIAMENTE accesos a la BB.DD o acceso a datos server side mientras q el usuario da vueltecitas por la misma página.

Hay casos en los que hay que hacerlos y otro que no, en el que es más eficiente usar javascript, trayendo todos los datos al principio y filtrando según sea necesario.

Usuarios habituales

  • Soltrac
  • elhamo
  • r2d2rigo
  • OsCuRiDaD
  • Miminh0
  • ErAsEro_O