Foros del Web » Programando para Internet » Javascript »

No se toman los valores cuando el usuario va hacia atras.

Estas en el tema de No se toman los valores cuando el usuario va hacia atras. en el foro de Javascript en Foros del Web. Veran tengo un form donde tengo 2 selects el primer select tiene 2 opciones el segundo select tiene tambien 2 opciones Cuando se selecciona la ...
  #1 (permalink)  
Antiguo 26/09/2016, 14:22
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
No se toman los valores cuando el usuario va hacia atras.

Veran tengo un form donde tengo 2 selects
el primer select tiene 2 opciones
el segundo select tiene tambien 2 opciones

Cuando se selecciona la primera opcion en el primer select se carga el segundo select con 2 opciones
cuando se selecciona la primera opcion en el segundo select aparece 1 recuadro de texto
y cuando se selecciona la segunda opcion aparecen 2 recuadros de texto, dependiendo la opcion.

cuando se selecciona la segunda opcion en el primer select entonces desaparece el segundo select.

todo esta bien guarda bien y todo cambia bien.
pero si el usuario una vez guardado y estando en la pantalla donde dice que se guardo correctamente, da hacia atras.
todas las opciones aparecen mal, el javascript para aparecer y desaparecer selects esta todo incorrecto..
La funcion atras del navegador no guarda la informacion javascript, no recuerda cuales elementos estaban en vista y cuales estaban ocultos, lo que si recuerda es que opciones estaban seleccionadas, pero eso no tienen congruencia, ya que se supone que para eso se valido en javascript(Esto ya esta validado en php, pero ese error no deberia aparecer para nada al usuario)
¿como hacer para forzar al navegador a mostrar la informacion que estaba en la pagina de atras?

de antemano gracias
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra
  #2 (permalink)  
Antiguo 26/09/2016, 16:15
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 5 meses
Puntos: 86
Respuesta: No se toman los valores cuando el usuario va hacia atras.

Usa los objetos Storage (sessionStorage o localStorage). Estos son parecidos a las sesiones de php
[URL="https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API"]https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API[/URL]
  #3 (permalink)  
Antiguo 26/09/2016, 21:32
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: No se toman los valores cuando el usuario va hacia atras.

Podrías guardar los datos seleccionados en cookies o almacenamiento local para que el script los "recuerde"; sin embargo, primero habría que plantearse la pregunta: ¿cuál es el fin de que el usuario retorne a la vista anterior y se muestre tal cual la dejó antes de guardar los datos?

También tienes la opción de realizar el proceso de guardado de información con AJAX para evitar que se recargue la ventana y el usuario siga viendo las cosas como las dejó; tú dices cómo hacerlo.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #4 (permalink)  
Antiguo 26/09/2016, 22:24
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
Respuesta: No se toman los valores cuando el usuario va hacia atras.

Cita:
Iniciado por Alexis88 Ver Mensaje
Podrías guardar los datos seleccionados en cookies o almacenamiento local para que el script los "recuerde"; sin embargo, primero habría que plantearse la pregunta: ¿cuál es el fin de que el usuario retorne a la vista anterior y se muestre tal cual la dejó antes de guardar los datos?

También tienes la opción de realizar el proceso de guardado de información con AJAX para evitar que se recargue la ventana y el usuario siga viendo las cosas como las dejó; tú dices cómo hacerlo.

No es ningún fin pero como estaba haciendo validaciones con php, cuando el usuario se equivoca en algún dato entonces mando un mensaje en la misma pantalla con un link el cual hace que el navegador vaya hacia atras y recupere el contenido en ese mismo form, si lo hace en los cuadros de textos y select pero no detecta los displays none ni los displays blocks los cuales se aplicaron con javascript dependiendo que selects se habían elegido.

Claro, con javascript este caso ya no ocurrirá, pero en el caso de que por x razón el explorador del usuario no tenga javascript activado entonces allí si.
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra
  #5 (permalink)  
Antiguo 27/09/2016, 13:16
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: No se toman los valores cuando el usuario va hacia atras.

Si buscas la solución del problema en el supuesto de que el usuario haya desactivado JavaScript del navegador, entonces, tendrás que recurrir al lado del servidor para lo cual te pueden servir las sesiones. De cualquier forma, creo que el aviso de un dato erróneo o de un problema ocurrido durante el procesamiento de los datos, debería mostrarse antes de cambiar la vista, considerando que el usuario no prescinde de JavaScript, para lo cual sería útil una petición asíncrona (AJAX).

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #6 (permalink)  
Antiguo 27/09/2016, 14:40
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
Respuesta: No se toman los valores cuando el usuario va hacia atras.

Pues tendre que usar las variables de sesion aunque no creia que era lo mas conveniente por que en ellas solo guardaba variables importantes.
Ahora debo crearlas y asegurarme de destruirlas para que cuando el usuario regrese a ese form no esten activas con los datos
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra

Etiquetas: funcion, hacia, php, select, text, usuario
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 23:34.