Javascript 离开页面后是否保留textarea内容?

Javascript 离开页面后是否保留textarea内容?,javascript,jquery,html,session,Javascript,Jquery,Html,Session,我有一个简单的textarea输入元素: <textarea name="comment" id="comment"></textarea> 它位于一个用户将向其中添加项目的页面上,因此它将被频繁地导航到和离开。如果用户在textarea元素中键入内容并导航离开,他们将不得不重新键入所有内容 如何使textarea元素中键入的任何内容都能够存储,即使用户离开了页面?我不希望有一个“保存”按钮,然后将其存储在$\u会话或SQL中,我希望有一种方法可以将文本保存在那里,

我有一个简单的textarea输入元素:

<textarea name="comment" id="comment"></textarea>

它位于一个用户将向其中添加项目的页面上,因此它将被频繁地导航到和离开。如果用户在textarea元素中键入内容并导航离开,他们将不得不重新键入所有内容

如何使textarea元素中键入的任何内容都能够存储,即使用户离开了页面?我不希望有一个“保存”按钮,然后将其存储在$\u会话或SQL中,我希望有一种方法可以将文本保存在那里,而不必导航到新页面。为了澄清,会话是可以的,但我不希望用户必须按任何键来存储它,我希望它自动存储。

解决方案 使用本地存储

window.onbeforeunload = function () {
    localStorage.setItem('comment-save', document.getElementById('commment').value);
}
然后当页面加载时

window.onload = function () {
    document.getElementById('comment').value = localStorage.getItem('comment-save');
}
解释
窗口。onbeforeunload
将在关闭页面之前运行代码。例如,您始终可以更改事件

document.getElementById('comment').input
应该在用户每次键入内容时保存该值。下一行将
textarea
值存储在名为comment save的
localStorage
项中
加载页面时,代码块将运行。它将定位
#注释
文本区域,并将其值设置为保存的注释

最后一个问题 如果用户提交了评论,您可能不想再存储它了。在提交代码中,添加

localStorage.removeItem('comment-save');
为什么? 为什么在PHP上使用这个?PHP在保存客户端数据方面已经过时了。它还浪费服务器端资源。

解决方案 使用本地存储

window.onbeforeunload = function () {
    localStorage.setItem('comment-save', document.getElementById('commment').value);
}
然后当页面加载时

window.onload = function () {
    document.getElementById('comment').value = localStorage.getItem('comment-save');
}
解释
窗口。onbeforeunload
将在关闭页面之前运行代码。例如,您始终可以更改事件

document.getElementById('comment').input
应该在用户每次键入内容时保存该值。下一行将
textarea
值存储在名为comment save的
localStorage
项中
加载页面时,代码块将运行。它将定位
#注释
文本区域,并将其值设置为保存的注释

最后一个问题 如果用户提交了评论,您可能不想再存储它了。在提交代码中,添加

localStorage.removeItem('comment-save');
为什么? 为什么在PHP上使用这个?PHP在保存客户端数据方面已经过时了。它还浪费服务器端资源。

您应该考虑使用或