Foros del Web » Programando para Internet » PHP »

Formulario dinámico

Estas en el tema de Formulario dinámico en el foro de PHP en Foros del Web. Hola compañeros!! Necesito crear un formulario dinámico, os explico: Primeramente tengo un pequeño enlace, si lo pincho se tiene que desplegar una especie de ventanita ...
  #1 (permalink)  
Antiguo 25/03/2008, 03:54
 
Fecha de Ingreso: septiembre-2006
Ubicación: Madrid
Mensajes: 14
Antigüedad: 17 años, 6 meses
Puntos: 0
Formulario dinámico

Hola compañeros!!

Necesito crear un formulario dinámico, os explico:

Primeramente tengo un pequeño enlace, si lo pincho se tiene que desplegar una especie de ventanita debajo (desplazando el resto del contenido) para mostrar cierta información.

Después tengo una lista de seleccción. Cuando elija alguno de las opciones de la lista, tiene que mostrarse más información y desplegarse más partes de la página para seguir rellenando información.

Mi idea sería realizarlo todo en la misma página, sin tener que pulsar botones de envío para poder recibir las variables. Se que se puede hacer, pero he estado buscando y no encuentro nada que me ayude.

No se si me he explicado bien.

¿Alguna idea?

Si conocéis algún manual u otro hilo que me pueda ayudar, agradecería que me lo indicaseis.

Muchas gracias por anticipado.
  #2 (permalink)  
Antiguo 25/03/2008, 05:19
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Re: Formulario dinámico

Yo usaria sesiones, son comodas de manejar

y en el indice de las FAQ´s encontraras todo sobre sesiones

Un saludo
  #3 (permalink)  
Antiguo 25/03/2008, 05:27
 
Fecha de Ingreso: septiembre-2006
Ubicación: Madrid
Mensajes: 14
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Formulario dinámico

No entiendo como puedo realizar esta funcionalidad usando sesiones...
  #4 (permalink)  
Antiguo 25/03/2008, 05:38
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Re: Formulario dinámico

lo que buscas es que se te vayan apareciendo campos, al tiempo que se rellenan algunos, o algo a si, eso creo se hace con javascript, con sesiones lo que puedes hacer es guardar las variables en sessiones y pasar al usuario del formulario de una pagina a otra con otro form manteniendo las variables de session siempre
  #5 (permalink)  
Antiguo 25/03/2008, 06:02
 
Fecha de Ingreso: septiembre-2006
Ubicación: Madrid
Mensajes: 14
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Formulario dinámico

Exacto, más o menos lo que quiero hacer es que vayan apareciendo campos según voy rellenando los anteriores.

Quiero que todo vaya en el mismo fichero, por tanto lo de ir pasando de una pagina a otra en principio no.

La idea que estoy barajando en el momento es esta:
Tengo un select, inicialmente con un valor seleccionado invalido y varias opciones que si son válidas. La idea es que cuando elija una de las válidas, me aparezca lo siguiente, por ejemplo otro select o un campo de texto.

Haciendo pruebas (muy sencillo por el momento) tengo esto:

<?
echo "<form action= ".$_SERVER['PHP_SELF']." method=\"post\" name=\"reserva\">";
echo "<select name=\"emplazamiento\" onChange=\"window.location.reload()\"> ";
echo "<option value=\"0\" selected>Elija un emplazamiento</option>";
echo "<option value=\"1\">Opcion1</option>";
echo "<option value=\"2\">Opcion2</option>";
echo "<option value=\"3\">Opcion3</option>";
echo "</select>";
//echo "<input type=\"submit\" value=Enviar>";
//echo "<input type=\"reset\" value=Borrar><br>";
echo "</form>";

if (isset($_POST['emplazamiento']))
{
echo "Valor $_POST[emplazamiento]";
}
else
{
echo "Sin valor";
}

?>


***************************************

Según mi idea, pensaba que al hacer click y elegir una opción distinta, al recargarme la página (con el metodo de onChange), el formulario enviaría las variables y podría comprobar más abajo si tienen valor, pero no me funciona, la variable no está definida

Añadiendo los botones de enviar, si que me recarga la página perfectamente y la variable me toma valor, pero me gustaría hacerlo sin tener que usar el botón...

Saludos
  #6 (permalink)  
Antiguo 25/03/2008, 06:25
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Re: Formulario dinámico

tendras que pasarte por el foro de javascript, a ver si alli te ayudan

con php no se puede hacer eso, porque segun creo php solo trabaja del lado del servidor, y no del cliente, todo lo que haga el php lo ha de procesar el server.

Un saludo
  #7 (permalink)  
Antiguo 25/03/2008, 06:42
 
Fecha de Ingreso: septiembre-2006
Ubicación: Madrid
Mensajes: 14
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Formulario dinámico

Es verdad, no recordaba esa cuestion...

Voy a pasarme por el subforo de javascript a ver si alguien me puede ayudar.

Muchas gracias por todo.

Saludos
  #8 (permalink)  
Antiguo 25/03/2008, 09:06
 
Fecha de Ingreso: septiembre-2006
Ubicación: Madrid
Mensajes: 14
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Formulario dinámico

En principio he conseguido algo, me envia los datos del formulario sin tener que pulsar ningún botón:

<?
$emplazamiento=$_POST['emplazamiento'];
echo "<form action= ".$_SERVER['PHP_SELF']." method=\"post\" name=\"reserva\">";
echo "<select name=\"emplazamiento\" onChange=\"this.form.submit()\"> ";
echo "<option value=\"0\">Elija un emplazamiento</option>";
echo "<option value=\"1\">Bungalow1</option>";
echo "<option value=\"2\">Bungalow2</option>";
echo "<option value=\"3\">Bungalow3</option>";
echo "</select>";
echo "</form>";

if (isset($_POST['emplazamiento']))
{
echo "Valor $_POST[emplazamiento]";
}
else
{
echo "Sin valor";
}

?>

Haciendo que coja las distintas opciones de una consulta a BD y comparando el valor obtenido con el que tenemos en la variable emplazamiento, podemos dejar seleccionada la opcion correspondiente.

Saludos
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

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 19:45.