我有一个简单的textarea输入元素:
<textarea name="comment" id="comment"></textarea>
它位于用户将添加项目的页面上,因此它将经常导航到远离的位置。如果用户在textarea元素中键入内容并导航,他们将不得不重新输入所有内容。
我怎样才能使textarea元素中的任何类型都能存储,即使用户离开页面也是如此?我不希望有一个“保存”按钮,然后将其存储在$ _SESSION或SQL中,我希望有一种方法可以将文本保存在那里而无需导航到新页面。为了澄清,会话是A-OK,但我只是不希望用户必须按任何东西来存储它,我自动喜欢它。
答案 0 :(得分:4)
使用localStorage
window.onbeforeunload = function () {
localStorage.setItem('comment-save', document.getElementById('commment').value);
}
然后加载页面
window.onload = function () {
document.getElementById('comment').value = localStorage.getItem('comment-save');
}
window.onbeforeunload
将在页面关闭之前运行代码。您可以随时更改事件,例如
document.getElementById('comment').input
每次用户输入内容时都应保存该值。下一行会将textarea
值存储在名为 comment-save 的localStorage
项中
#comment
textarea并将其值设置为已保存的评论。
如果用户提交评论,您可能不想再存储评论。在提交代码中,添加
localStorage.removeItem('comment-save');
为什么要在PHP上使用它? PHP被过度杀死以保存客户端数据。它还浪费了服务器端资源。