我有一个表单和一些我使用jquery修改的div。
在表单提交时,用户将被带到另一页。
现在,当用户按下后退按钮时,不会保留修改后的div。仅保留表单值。
保留修改后的div的最佳方法是什么?或者至少应该有一些我可以在后退按钮上捕获的事件,以便我可以重新修改这些div。
感谢。
答案 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"));
}
这将独立于用户如何到达那里,第一次或使用后退按钮。