Mantener los datos del formulario en la página de actualización

Tengo una situación en la que, por algún motivo, una página web puede actualizarse mientras un usuario completa un formulario. El efecto no deseado es eliminar los datos ya ingresados ​​por el usuario.

¿Hay alguna solución para que los datos del formulario persistan en la actualización de la página?

El formulario incluye entrada de texto y selecciona.

Usted dice "I have a situation where for some reason a Web page might refresh" , ¿quiere decir que el usuario podría actualizar la página o alguna otra secuencia de comandos refresca la página? Si el caso es el último, probablemente debería intentar solucionar el problema que causa la actualización en lugar de tratar de preservar los datos del formulario. Si es el primero, JavaScript probablemente será la solución para usted.

Podrías escuchar cada keyup-event en cualquiera de los elementos del formulario. Cuando se activa un evento de activación de teclado, se serializan los datos del formulario y se escriben en una cookie (o en un almacén web, dependiendo de qué navegadores se necesitan para respaldar), para preservar los datos más actualizados. Si la página se recarga, o si el usuario abandona la página y vuelve, la cookie se puede deserializar en el documento listo, y puede volver a llenar el formulario con los datos de la cookie. Cuando publique el formulario, asegúrese de borrar la cookie para asegurarse de que el formulario no se complete la próxima vez que el usuario cargue la página.

Actualizar

Aquí hay una buena publicación en el blog sobre cómo usar GSerializer para la serialización y deserialización con JavaScript.

Un enfoque sugerido

  1. A medida que el usuario completa el formulario, ejecute JavaScript almacenando en caché los valores ingresados ​​en LocalStorage , una cookie o una variable de sesión a través de AJAX.

  2. En la carga de la página, verifique la presencia de estas entradas y llene el formulario con JavaScript.

  3. En el formulario enviado, borre las entradas.

Utilice el almacenamiento web HTML5: es más rápido y más seguro que las cookies. Puede consultar el sitio web de W3Schools para obtener ejemplos básicos y rápidos: http://www.w3schools.com/html5/html5_webstorage.asp