¿Cómo guardo los datos del formulario cuando se hace clic en el botón Atrás?
-
06-07-2019 - |
Pregunta
Estoy desarrollando una aplicación de rieles. (No creo que este sea un problema específico de los rieles) Hay un proceso de reserva que consta de 3 pasos. Cuando un usuario está en la página del paso 2, si hace clic en el botón 'Anterior', los datos del formulario en el paso 1 deben ser los mismos que antes.
Adjunté " history.go (-1); " al botón 'Anterior'.
Funciona en mi navegador Firefox. Pero no funciona en algunos navegadores IE. Sin embargo, mi IE funciona.
¿Cómo puedo forzarlo a preservar los datos del formulario cuando la página está de vuelta?
Gracias.
Sam
Solución
No puedo confiar en el cliente (javascript) para este tipo de operación.
Guardas los datos en algún lugar en el paso 1, así que solo restaúralos.
Otros consejos
busque tener un iframe oculto en la página para almacenar los datos. No estoy seguro de los detalles específicos para implementar esto, pero esta es la técnica que las personas usan para almacenar el estado de la página cuando el hash cambia en la URL. Compruebe si algunas bibliotecas como dojo y jquery ayudan a soportar esta situación.
Puede guardar los datos de la página 2 en la base de datos, o en la memoria caché de la memoria del servidor, o en una cookie o tres, y restaurarlos cuando se carga la página.
ASP.NET hace esto automáticamente a través de ViewState (nota: El artículo es antiguo, pero sigue siendo bastante preciso). Quizás pueda adaptar un enfoque similar a Rails.