我正在开发一个 Rails 应用程序。(我不认为这是特定于 Rails 的问题)有一个由 3 个步骤组成的预订过程。当用户在第 2 步页面时,如果用户单击“上一步”按钮,则第 1 步中的表单数据应该与之前相同。
我附上了“history.go(-1);” 到“上一个”按钮。
它适用于我的Firefox浏览器。但它不适用于某些 IE 浏览器。我的 IE 可以工作。
当页面返回时,如何强制它保留表单数据?
谢谢。
山姆
我正在开发一个 Rails 应用程序。(我不认为这是特定于 Rails 的问题)有一个由 3 个步骤组成的预订过程。当用户在第 2 步页面时,如果用户单击“上一步”按钮,则第 1 步中的表单数据应该与之前相同。
我附上了“history.go(-1);” 到“上一个”按钮。
它适用于我的Firefox浏览器。但它不适用于某些 IE 浏览器。我的 IE 可以工作。
当页面返回时,如何强制它保留表单数据?
谢谢。
山姆
不能依赖客户端(javascript)进行这种操作。
您在步骤 1 中将数据保存在某处,因此只需将其恢复即可。
您可以将第 2 页的数据保存到数据库、服务器内存缓存或 cookie 或三个中,并在页面加载时恢复它。
考虑在页面上有一个隐藏的 iframe 来存储数据。我不确定实现这一点的具体细节,但这是人们在 URL 中的哈希更改时用来存储页面状态的技术。检查像 dojo 和 jquery 这样的库是否有助于支持这种情况。
ASP.NET 通过ViewState自动执行此操作(注意:文章很古老,但仍然相当准确)。也许您可以将类似的方法应用于 Rails。