【问题标题】:How do I keep form data when Back button is clicked单击后退按钮时如何保留表单数据
【发布时间】:2009-06-22 21:24:21
【问题描述】:

我正在开发一个 Rails 应用程序。 (我不认为这是特定于 Rails 的问题) 有一个预订过程,包括 3 个步骤。 当用户在第 2 步页面时,如果用户点击“上一步”按钮,第 1 步中的表单数据应该与之前相同。

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

它适用于我的 Firefox 浏览器。 但它不适用于某些 IE 浏览器。 不过我的 IE 可以工作。

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

谢谢。

山姆

【问题讨论】:

    标签: javascript internet-explorer forms back


    【解决方案1】:

    不能依赖客户端 (javascript) 进行此类操作。

    您在第 1 步中将数据保存在某处,因此只需将其恢复即可。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        您可以将第 2 页的数据保存到数据库、服务器内存缓存或 cookie 或三个中,并在页面加载时恢复。

        【讨论】:

        • 哦,我想保留第 1 页的数据,而不是第 2 页的数据。我不需要在数据库中保存数据。我只需要缓存表单数据。但有些浏览器不会缓存它们。
        • 好吧,你需要把它缓存在某个地方——我认为数据库是一种相对便宜的方法,因为(大概)你需要在提交过程结束时存储这些数据。编辑答案以展开。
        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 2019-11-16
          • 1970-01-01
          • 1970-01-01
          • 2012-07-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-19
          • 1970-01-01
          相关资源
          最近更新 更多