Foros del Web » Programando para Internet » PHP »

recargar pagina y mantener valores de campos del formulario

Estas en el tema de recargar pagina y mantener valores de campos del formulario en el foro de PHP en Foros del Web. hola: necesito recargar una pagina y que se me mantengan los valores introducidos en todos los campos del formulario. la recarga ocurre a partir de ...
  #1 (permalink)  
Antiguo 05/11/2003, 14:50
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 15 años, 10 meses
Puntos: 11
recargar pagina y mantener valores de campos del formulario

hola:

necesito recargar una pagina y que se me mantengan los valores introducidos en todos los campos del formulario. la recarga ocurre a partir de cambiar una opcion en un select. En realidad 3 selects distintos provocan la recarga, siendo cada uno una subclasificacion del anterior. habia hecho el codigo de esto con javascript, pero genera un comportamiento erratico al cambiar una opcion en un select que está en un nivel mas alto de la clasificacion. podria hacerlo con variables de sesion, pero nose, no encuentro elegante la idea de usar un monton de variables globales.
¿que ne recomiendan hacer?
  #2 (permalink)  
Antiguo 05/11/2003, 15:01
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 17 años, 2 meses
Puntos: 16
Hola,

Para que PHP tenga acceso a esos valores, mas que una recarga sera un submit. Y en ese submit, PHP recibira los valores en $_POST (o $_GET dependiendo del method del formulario). Entonces tu formulario podria tener los campos puestos asi:
Código PHP:
<input type="text" name="texto1" value="<?php echo (isset($_POST['texto1']))?$_POST['texto1']:''?>">
Uso el isset() para que no salgan notice de "indice no definido" (el operador ?: es el operador ternario y equivale a un if...else...). Sobre la problematica de los notices, tengo una explicacion un poco mas amplia en el tutorial de mi firma.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 05/11/2003, 15:20
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 15 años, 10 meses
Puntos: 11
el problema es que en el action del formulario estoy llamando a otro script php que se encarga de validar y grabar los datos del formulario, ademas de reenviar a una nueva pagina. Yo recargaba la pagina con javascript, pasando todas las variables a traves del metodo get (cuando solo queria actualizar los select) y por el metodo post del formulario pasaba las variables al script que graba y valida los datos.
¿algun consejo de diseño al respecto?
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
  #4 (permalink)  
Antiguo 05/11/2003, 15:39
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 17 años, 2 meses
Puntos: 16
Bueno, dependiendo del tipo de campos podrias pasarlos todos (o solo los que contengan valores) por URL con javascript, y usar $_GET para cargar los datos del formulario.

O podrias usar javascript para cambiar el action del form y hacer el submit cuando quieres actualizar el select.

En el foro de javascript vendra como hacer cualquiera de las 2 cosas.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 05/11/2003, 16:50
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 15 años, 10 meses
Puntos: 11
si, supongo que tendre que seguir con javascript sino quiero usar sesiones. lo que propones ya lo hago, ya paso todos los valores por URL y los obtengo de vuelta, y ahi esta el problema pues pasa una subclasificacion anterior cuando he cambiado el select de la clasificacion mas general. esto tambien esta resuelto, pues he visto que algunas paginas cuando cambia una clasificacion las subclasificaciones quedan en un valor neutral del tipo "elija su opcion", aunque quizas igual me de problemas pues las subclasificaciones se cargan desde una base de datos.
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
  #6 (permalink)  
Antiguo 06/11/2003, 02:08
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 15 años, 10 meses
Puntos: 41
Alguna vez hice algo "descabellado":

-El onChange abría un popUp. Esta ventana era chiquitita y la ponía en una posición tal que estuviera lejos de lo que abarca el monitor.
-El popUp le devolvía el "focus" a la ventana principal (opener).
-Este popUp contiene el script que quieras que se ejecute. Consultas a la BD o a donde sea que se encuentre la información que debe aparecer en el segundo select.
-Envías la información desde el popUp al opener vía JavaScript.
-Inmediatamente después se cierra el popUp.
-De esta manera no se recarga toda la página, sino solamente el elemento de formulario que quieras.
-Además el usuario nunca ve el popUp. Con las justas se entera de que se abrió porque tu página pierde el foco un instante. También notará que se abre una página porque lo verá en la barra inferior en el escritorio. Pero ni siquiera tendrá tiempo de cerrarla porque mientras reacciona, ya se ejecutó el script y se cerró sola.

Eso hice yo hace tiempo porque no sabía cómo cambiar dinámicamente el contenido de un textarea sin que recargue toda la página.

No sé si sirva... yo lo veo un poco tedioso... no sé si será óptimo... pero de que funciona... funciona!... Y no se necesita pasar todas las variables por url ni sesiones. A lo mucho se pasará una variable que indique la opción por url al popUp...

Bueno... nada más

Saludos
  #7 (permalink)  
Antiguo 06/11/2003, 02:51
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 17 años, 2 meses
Puntos: 16
jpinedo, ¿esa solucion se ve afectada por los bloqueadores de popup (como la omnipresente google toolbar)? Porque si uno de esos programas bloquea la ejecucion del popup, adios invento.

Cluster puso un link sobre remote scripting, que se supone que es para hacer algo parecido a lo que haces con el popup. A ver si lo localizo, y lo pongo aqui.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 08/11/2003, 16:39
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 15 años, 10 meses
Puntos: 41
Pues no lo había pensado... tienes razón josemi. Creo que éste es el link al que te refieres:

http://www.ashleyit.com/rs/main.htm

Saludos
  #9 (permalink)  
Antiguo 05/10/2007, 20:48
Usuario no validado
 
Fecha de Ingreso: agosto-2007
Mensajes: 141
Antigüedad: 12 años
Puntos: 1
Re: recargar pagina y mantener valores de campos del formulario

Hola, a ver si pueden ayudarme
tengo un problema parecido
tengo una pagina que tiene 2 formularios uno con dos campos de texto q se ingresan dos fechas (las envio por post)
el otro que se muestran los datos segun esas fechas
El tema es que hay un voton tambien q me habre una ventana emergente q permite ingresar un dato de la tabla anterior
al finalizar, (pones guardar ) hago window.opener.location.reload (o refresh no me acuerdo)
esto anda perfectamente, pero el problema es q me muestra la ventanita de error eSA DE DEBE RENVIAR LOS DATOS PARA PODER MOSTRAR BIEN LA PAGINA
Y DA LA OPCION DE REENVIAR O CANCELAR
alguein sabe como hacer para eliinar este mensaje??

OTRA COSA, como hago para hacer submit de una pagina dede la que la abrio. algo como lo anterior

window.opener.forms.Form_datos.submit(), pero no funciona esto, como hago??
greaciasssss!!!
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 1 personas




La zona horaria es GMT -6. Ahora son las 15:40.