0

我目前正在使用 ASP.NET MVC 和 HTML/JavaScript 开发一个网站。在这个网站上,我有一个数据表单页面,其中包含多个文本字段、组合框、日期时间选择器和其他控件(其中一些来自 jQuery UI 扩展),用户可以在其中输入数据。

现在我要求刷新页面时输入的数据不应丢失,因为当前刷新页面时表单中的所有字段都变为空白。

我已经实现了一个解决方案,它将用户输入的所有内容存储在 sessionStorage 中,并在用户刷新页面时恢复它。但是,sessionStorage 不适合此目的,因为当用户导航到网站上完全不同的页面然后导航回包含数据表单的页面时,数据甚至会被恢复。

有什么方法可以通过 JavaScript 存储数据,就像 sessionStorage(或 localStorage)一样,但是当用户导航到不同的页面时会自动清除?如果没有,是否至少有一种简单的方法可以在用户导航到另一个页面时手动清除 sessionStorage?

4

2 回答 2

1

此函数将在 url 更改时调用。

$(window).bind('hashchange', function() {
 // reset the data
});
于 2019-11-04T09:23:07.283 回答
0

您可以在布局页面中处理文档就绪事件,然后您可以通过页面 URL 进行检查。

<script>

    $(document).ready(function () {
        if (window.location.href != 'your url') {
            // reset all data
        }
        else {
            // restore data from local storage
        }
    });
</script>
于 2019-11-04T09:30:58.523 回答