0

免责声明:我不太擅长 JavaScript。:-)

我在 HTML 表单中有许多下拉元素(其中一些仅根据对服务器的 AJAX 请求的结果创建,具体取决于其他表单元素)。

特别是,用户可以选择一个国家,并且根据国家的不同,他们还可以选择一种文化

当用户提交表单,然后使用后退按钮重新显示表单时,我已经准备好 javascript 来重新运行 AJAX 请求并重建依赖的文化选择器。我还localStorage用来跟踪他们之前选择的文化,以便在重建选择器后重新选择该值。都好。

然而,我发现,如果用户返回站点主页,然后导航回有问题的页面,那么这些localStorage值仍然存在。如果它们重新形成,我想清除以前存储的文化。我只希望在使用后退按钮时使用它。

我希望我已经解释过了。任何人都可以帮忙吗?

4

2 回答 2

0

LocalStorage当他们完成表格时,您可能只需要清除它们;或者使用SessionStorage它受会话约束而不是永久设置,希望这会有所帮助

于 2013-05-05T02:47:40.530 回答
0

我已经解决了这个问题。两件事情:

(1) 正如@Shane 所说,我应该使用sessionStorage而不是localStorage.

(2) 我正在使用.ajaxStop页面load事件来确定何时重新加载文化选择器并且我可以替换存储的值。This was also firing when the countryselector was changed, and this caused the previous culture to be replaced. 我已经解决了这个问题,它现在正在做它应该做的一切。

于 2013-05-05T03:04:46.163 回答