单击“后退”按钮时如何保留表单数据
我正在开发一个 Rails 应用程序。 (我不认为这是一个特定于 Rails 的问题) 预订流程由 3 个步骤组成。 当用户在步骤 2 页面上时,如果用户单击“上一步”按钮,则步骤 1 中的表单数据应与之前相同。
我附上了“history.go(-1);” 到“上一个”按钮。
它适用于我的火狐浏览器。 但它在某些IE浏览器上不起作用。 不过我的 IE 可以用。
当页面返回时,如何强制它保留表单数据?
谢谢。
山姆
I am developing a rails app.
(I don't think this is a rails-specific problem)
There's a reservation process which is consisted of 3 steps.
When a user is on step 2 page, if the user clicks 'Previous' button, the form data in step 1 should be the same as before.
I attached "history.go(-1);" to the 'Previous' button.
It works on my firefox browser.
But it doesn't work on some IE browsers.
My IE works though.
How can I force it to preserve the form data when the page is back?
Thanks.
Sam
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
不能依赖客户端(javascript)进行此类操作。
您在第 1 步中将数据保存在某个位置,因此只需将其恢复即可。
Can't rely on the client (javascript) for this kind of operation.
You save the data somewhere at step 1, so just restore it.
考虑在页面上使用隐藏的 iframe 来存储数据。 我不确定实现这一点的具体细节,但这是人们在 URL 中的哈希值发生变化时用来存储页面状态的技术。 检查 dojo 和 jquery 等库是否有助于支持这种情况。
look into having a hidden iframe on the page to store the data. I am not sure of the specifics of implementing this, but this is the technique people use to store the state of the page when the hash changes in the URL. Check if some libraries like dojo and jquery help support this situation.
您可以将第 2 页的数据保存到数据库、服务器内存缓存、cookie 或三个中,并在加载页面时恢复它。
You could save page 2's data to the database, or a server-memory cache, or a cookie or three, and restore it when the page is loaded.
ASP.NET 通过 ViewState 自动执行此操作(注意:文章很古老,但仍然相当准确)。 也许您可以对 Rails 采用类似的方法。
ASP.NET does this automatically via ViewState (note: article is ancient, but still quite accurate). Perhaps you can adapt a similiar approach to Rails.