如何为后退按钮保留Web表单内容

Pet*_*owe 5 javascript php forms session back-button

当提交Web表单并将用户带到另一个页面时,通常情况下用户将单击"后退"按钮以再次提交表单(在我的情况下,表单是高级搜索.)

如何在用户单击"返回"时可靠地保留用户选择的表单选项(因此,如果他们只更改了多个表单元素中的一个,则不必从头开始填写表单?)

我是否必须沿着会话数据(cookie或服务器端)存储表单选项的路线,或者有办法让浏览器为我处理这个问题吗?

(环境是PHP/JavaScript - 该网站必须适用于IE6 +和Firefox2 +)

Tom*_*ter 6

我相信你受浏览器的支配.当你回击时,浏览器不会向服务器发出新的内容请求,它使用缓存(几乎在我见过的每个浏览器中).所以任何服务器端都出来了.

我想知道你是否可以做一些非常复杂的事情,比如在结果页面的onunload事件期间将搜索结果存储在cookie中,然后在搜索页面上的javascript中读取cookie并填写表单 - 但这只是猜测,我不知道它是否会奏效.

  • 服务器端不一定是一个选项 - 再次为页面执行JavaScript - 所以我们可以发出Ajax请求. (5认同)

Gre*_*reg 3

我会把它放在会议中。
这将是最可靠的,即使他们不直接“返回”,它仍然会有他们的搜索选项。将其放入 cookie 中也可以,但不建议这样做,除非它的形式非常小。