Лучший способ для кнопки возврата, чтобы оставить данные формы - PullRequest
4 голосов
/ 03 февраля 2009

Я создаю веб-страницу на основе пользовательского ввода из формы. После того, как пользователь увидит сгенерированную страницу, я хочу позволить ему нажать кнопку «Назад» и внести изменения в форму. Я хотел бы показать форму, как они заполнили ее ранее. Каков наилучший способ получить такое поведение (с поддержкой нескольких браузеров)?

Ответы [ 3 ]

6 голосов
/ 03 февраля 2009

После того, как пользователь увидит сгенерированную страницу, я хочу позволить ему нажать кнопку «Назад» и внести изменения в форму. Я хотел бы отобразить форму, как они заполнили ее ранее.

Нет необходимости добавлять какой-либо умный причудливый код; это то, что браузеры будут делать по умолчанию, если вы не предпримете активные шаги, чтобы предотвратить это, например:

  • разрыв кеша с заголовками Cache-Control / Pragma
  • генерация самой страницы формы из ответа на POST (вместо этого используйте POST-Redirect-GET)
  • генерация элементов формы из скрипта

Решения для файлов cookie хрупки и требуют особой обработки, если вы не хотите, чтобы две вкладки открывались одновременно, чтобы запутаться. Сделайте это легко для себя: пусть браузер сделает всю работу.

1 голос
/ 03 февраля 2009

JQuery имеет хороший cookie-плагин , который я использовал для хранения данных экзамена, пока пользователь просматривал сайт для ответов на месте.

1 голос
/ 03 февраля 2009

Сохранение сохраненной информации в файлах cookie в виде данных с разделителями. Если файл cookie существует, повторно заполните форму.

Если вы используете синтаксис document.formName.fieldName, кросс-браузерные проблемы отсутствуют.

В качестве альтернативы, если куки отключены, вы можете сохранить их на сервере и сделать то же самое с AJAX.

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