2009-06-22 82 views
3

我正在开发一个Rails应用程序。 (我不认为这是一个特定于轨道的问题) 有一个预定过程由3个步骤组成。 当用户在步骤2页面上时,如果用户点击'上一步'按钮,步骤1中的表单数据应该与以前相同。单击“后退”按钮时如何保留表单数据

我附上“history.go(-1);”到'上一个'按钮。

它适用于我的Firefox浏览器。 但它不适用于某些IE浏览器。 虽然我的IE能工作。

如何强制它在页面返回时保留表单数据?

谢谢。

山姆

回答

3

不能依赖客户端(javascript)进行这种操作。

您将数据保存在第1步的某个位置,因此请将其恢复。

1

你可以第2页的数据保存到数据库或服务器内存中缓存或cookie或三根,加载页面时恢复。

+0

哦,我想保留第1页的数据,而不是第2页的数据。 我不需要在数据库上保存数据。 我只需要缓存表单数据。 但有些浏览器不会缓存它们。 – 2009-06-22 21:51:01

1

考虑在页面上隐藏iframe来存储数据。我不确定实现这一点的具体细节,但这是人们用来存储页面状态的技术,当哈希在URL中发生变化时。检查一些像dojo和jquery这样的库是否有助于支持这种情况。

1

ASP.NET通过ViewState自动执行此操作(注意:文章很古老,但相当准确)。也许你可以采用类似Rails的方法。