Foros del Web » Programando para Internet » PHP »

Necesito cambiar los campos de un form según se seleccione la opción de un select

Estas en el tema de Necesito cambiar los campos de un form según se seleccione la opción de un select en el foro de PHP en Foros del Web. Hola!! Pues eso, como dice el título, tengo un form y necesito que, dependiendo de lo que se seleccione en el select "asunto" aparezcan para ...
  #1 (permalink)  
Antiguo 26/02/2005, 22:00
Avatar de rbczgz  
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.209
Antigüedad: 14 años
Puntos: 148
Necesito cambiar los campos de un form según se seleccione la opción de un select

Hola!!

Pues eso, como dice el título, tengo un form y necesito que, dependiendo de lo que se seleccione en el select "asunto" aparezcan para completar unos campos u otros, por ahora sólo tiene 2 opciones, entonces si se selecciona la primera opción necesito que aparezcan todos los campos del form y si se selecciona la segunda, sólo deben aparecer parte de los campos del form.

Por lo tanto la pregunta es ¿alguien me puede ayudar sobre cómo habría ue hacerlo?

He intentado probar con la FAQ nº 27 de Javascript pero no me sirve, necesitaría que fuese con PHP.

Agradezco cualquier sugerencia
  #2 (permalink)  
Antiguo 26/02/2005, 22:11
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por rbczgz
(...)He intentado probar con la FAQ nº 27 de Javascript pero no me sirve, necesitaría que fuese con PHP
¿Cuál es la necesidad de PHP?... sabes que tendrás que recargar cierto? quizá abrir una nueva página... pero bueno, por lo que entiendo, te sugiero algo simple...
Código PHP:
$opcion$_POST['select'];
if(
$opcion=="uno") {
echo 
"Dependiendo de las forma de tu formulario (ja!) aquí puedes mostrar los campos que serán exclusivos para la opción 'uno' <br>";
}
echo 
"Y acá podrás incluir los campos que se verán en ambas opciones<br>"
... una idea.. prueba con if, elseif, else si tus requerimentos son mayores... aunque por lo que me imagino quieres, creo te complicarias la vida...

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 26/02/2005, 22:29
Avatar de rbczgz  
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.209
Antigüedad: 14 años
Puntos: 148
Muchas gracias jam1138

Pero según entiendo yo, esto se procesaría después de enviar el form, o sea añadiendo lo que me dices al script de PHP con el que proceso el form, con lo que ya no me sirve , tiene que cambiar el form antes de enviarlo, para que el usuario rellene los campos necesarios en el caso elegido.

El problema de la FAQ 27 de Javascript es que lo hace con un marco, he intentado hacerlo con esa opción pero, aparte de tener que "crear" toda la página con writeIn..., no consigo que me funcione sin errores. Además lo que necesitaría es lo mismo que en la FAQ 27 de JS pero sin marco, y, a ser posible que no tuviese que hacer toda la página con el dichoso witeIn..., que es una lata, pero en fin, mañana veré si se puede hacer algo...

Muchas gracias
  #4 (permalink)  
Antiguo 26/02/2005, 23:13
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por rbczgz
Pero según entiendo yo, esto se procesaría después de enviar el form, o sea añadiendo lo que me dices al script de PHP con el que proceso el form, con lo que ya no me sirve , tiene que cambiar el form antes de enviarlo, para que el usuario rellene los campos necesarios en el caso elegido.
... PHP trabaja del lado del servidor... es por eso que si quieres realizar un cambio trendrás que recargar, ya sea abrir una página nueva ó llamar a la misma con esto que te indiqué. El funcionamiento seria similar: recoger un valor y a partir de ahí efectuar las acciones...

Pero maneja JavaScript. Ese método de la FAQ #27 no es el único. Creo tu solución es crear tu formulario y añadir etiquetas DIV ó manejar estios en una tabla... por ejemplo:
Código HTML:
<table><tr>
<td style="display:none">
Acá algo de tu form, esto estará oculto por default
</td>
</tr></table> 
y, con la propiedad onChange de tu combobox, llamar a una función que te cambie esa propiedad "display:none"... haciendo visible su contenido... ó viseversa. Todo depende de la estructura de tu formulario... pero bueno, eso es JavaScript y tiene su propio foro. Haz una busqueda genereal sobre como ocultar/mostrar X contenido...
Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 26/02/2005 a las 23:18
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 11:18.