修改后的Div不会在后退按钮上保留其值

时间:2011-05-12 09:40:37

标签: jquery

我有一个表单和一些我使用jquery修改的div。

在表单提交时,用户将被带到另一页。

现在,当用户按下后退按钮时,不会保留修改后的div。仅保留表单值。

保留修改后的div的最佳方法是什么?或者至少应该有一些我可以在后退按钮上捕获的事件,以便我可以重新修改这些div。

感谢。

2 个答案:

答案 0 :(得分:1)

实现此目的的一种简单方法是跟踪URL中页面的状态。您可以使用javascript或使用类似jquery history plugin:

之类的东西来完成此操作

http://tkyk.github.com/jquery-history-plugin/

然后,当页面加载时(第一次或按下后退按钮时),您可以根据查询字符串值设置页面状态。

答案 1 :(得分:1)

作为保罗答案的修正案:你当然只需要跟踪这样的状态,如果你丢失了用户输入,例如因为你在回去后添加了不再存在的输入元素。

如果你只用HTML中“静态”输入元素中的用户数据重建DOM状态,那么你“只需”另外触发你的函数“onload”(或在DOM准备好)。

例如,假设您根据复选框显示/隐藏div:

<input type="checkbox" id="myCheckBox" onclick="showHideMyDiv(this)">
<div id="myDiv"> ... </div>

然后将事件处理程序(showHideMyDiv)的调用添加到window.onload处理程序(实际上不使用window.onload - 这只是一个示例,但使用addEventListener / attachEvent或者像jQuery这样的框架。

 window.onload = function() {
   showHideMyDiv(document.getElementbyId("myCheckBox"));
 }

这将独立于用户如何到达那里,第一次或使用后退按钮。