Сохраняйте данные формы при обновлении страницы - PullRequest
3 голосов
/ 24 февраля 2012

У меня есть ситуация, когда по какой-то причине веб-страница может обновляться, пока пользователь заполняет форму. Нежелательный эффект - уничтожение данных, уже введенных пользователем.

Есть ли решение для сохранения данных формы при обновлении страницы?

Форма включает в себя ввод текста и выбирает.

Ответы [ 3 ]

1 голос
/ 24 февраля 2012

Предлагаемый подход

  1. Когда пользователь заполняет форму, включите JavaScript, который кэширует введенные значения в LocalStorage , cookie или сеансепеременная через AJAX.

  2. При загрузке страницы проверьте наличие этих записей и заполните форму с помощью JavaScript.

  3. При отправке формыочистите записи.

1 голос
/ 24 февраля 2012

Вы говорите "I have a situation where for some reason a Web page might refresh", вы имеете в виду, что пользователь может обновить страницу, или это какой-то другой скрипт, который обновляет страницу? Если дело обстоит именно так, вам, вероятно, следует попытаться устранить проблему, которая вызывает обновление, а не пытаться сохранить данные формы. Если это первое, JavaScript, вероятно, будет решением для вас.

Вы можете прослушивать каждое событие keyup на любом из элементов формы. Когда запускается событие keyup, вы сериализуете данные формы и записываете их в файл cookie (или в хранилище, в зависимости от того, какие браузеры вам необходимо поддерживать), чтобы сохранить самые свежие данные. Если страница перезагружается или пользователь покидает страницу и возвращается, cookie может быть десериализован в готовом документе, и вы можете повторно заполнить форму данными из cookie. Когда вы публикуете форму, вы также должны удалить куки, чтобы убедиться, что форма не будет заполнена при следующей загрузке страницы пользователем.

Обновление

Вот хорошее сообщение в блоге о том, как использовать GSerializer для сериализации десериализации с помощью JavaScript.

0 голосов
/ 24 февраля 2012

Используйте веб-хранилище HTML5 - это быстрее и безопаснее, чем файлы cookie. Вы можете проверить веб-сайт W3Schools для некоторых быстрых и основных образцов: http://www.w3schools.com/html5/html5_webstorage.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...