Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Localstorage persistent textarea不工作_Javascript_Html_Local Storage_Textarea - Fatal编程技术网

Javascript Localstorage persistent textarea不工作

Javascript Localstorage persistent textarea不工作,javascript,html,local-storage,textarea,Javascript,Html,Local Storage,Textarea,我试图使文本区域中的内容持久化,即当页面重新加载时保持不变。这是我的密码: 函数存储(){ if(类型(存储)!=“未定义”){ var textarea=document.getElementById(“txt”) setItem(“text”,txt.value); document.getElementById(“txt”).innerHTML=localStorage.getItem(“text”); }否则{ document.getElementById(“err”).inner

我试图使文本区域中的内容持久化,即当页面重新加载时保持不变。这是我的密码:


函数存储(){
if(类型(存储)!=“未定义”){
var textarea=document.getElementById(“txt”)
setItem(“text”,txt.value);
document.getElementById(“txt”).innerHTML=localStorage.getItem(“text”);
}否则{
document.getElementById(“err”).innerHTML=“不支持本地存储”;
}
}

您的函数仅在
textarea
更改时调用,您还需要在页面加载时调用它。要做到这一点,你应该倾听事件


var textarea=document.getElementById(“txt”);
textarea.addEventListener('input',writeLocalStorage);
函数writeLocalStorage(){
if(类型(存储)!=“未定义”){
setItem(“text”,textarea.value);
}否则{
document.getElementById(“err”).innerHTML=“不支持本地存储”;
}
}
函数readLocalStorage(){
if(类型(存储)!=“未定义”){
textarea.value=localStorage.getItem(“text”);
}否则{
document.getElementById(“err”).innerHTML=“不支持本地存储”;
}
}
//`DOMContentLoaded`可能在脚本有机会运行之前触发,因此请在添加侦听器之前进行检查
如果(document.readyState==“正在加载”){
document.addEventListener(“DOMContentLoaded”,readLocalStorage);
}else{/`DOMContentLoaded`已被激发
readLocalStorage();
}

修改你的代码你想在这里做什么?获取
元素的值,然后将同一元素重置为刚获取的值?仅当文本区域内的值更改时,代码才会运行。当页面重新加载时,技术上它不会改变(只是空的)。当页面启动时,您也需要运行此代码。@lux我正在尝试使用户键入的文本在使用LocalStorages重新加载页面时保持不变。我尝试在chrome上运行您的代码,但不起作用。我还尝试将其作为.html文件在chrome上运行,但不起作用。@four肉桂0您的函数还有一些其他问题,您可以在同一过程中不断读取和覆盖本地存储。我编辑了我的答案,将本地存储中的读写功能划分为不同的功能。还要注意的是
change()
事件对于textarea不可靠,我将其更改为
input()