Как сохранить данные формы при нажатии кнопки "Назад"

Я разрабатываю приложение для рельсов. (Я не думаю, что это проблема, связанная с рельсами). Процесс резервирования состоит из 3 этапов. Когда пользователь находится на странице шага 2, если пользователь нажимает кнопку "Предыдущий", данные формы на шаге 1 должны быть такими же, как и раньше.

Я приложил "history.go(-1);" на кнопку "Предыдущий".

Это работает в моем браузере Firefox. Но это не работает в некоторых браузерах IE. Мой IE работает, хотя.

Как я могу заставить его сохранить данные формы, когда страница вернется?

Благодарю.

Сэм

4 ответа

Решение

Не могу положиться на клиента (javascript) для такого рода операций.

Вы сохраняете данные где-то на шаге 1, так что просто восстановите их.

Вы можете сохранить данные страницы 2 в базе данных, или в кеше памяти сервера, или в файле cookie, или в трех файлах, и восстановить их при загрузке страницы.

Найдите скрытый iframe на странице для хранения данных. Я не уверен в специфике реализации этого, но это метод, который люди используют для хранения состояния страницы, когда хэш изменяется в URL. Проверьте, помогают ли некоторые библиотеки, такие как dojo и jquery, поддерживать эту ситуацию.

ASP.NET делает это автоматически через ViewState (примечание: статья древняя, но все еще довольно точная). Возможно, вы сможете адаптировать подобный подход к Rails.

Другие вопросы по тегам