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

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top