2013-05-28 39 views
0

我想根据名为“names”的localStorage变量创建一个名称数组。我使用String.split()来检测一个看起来工作正常的新行,但如果我多次刷新页面,则不会。当我使用split()时localStorage清除

var names = localStorage.names;  

if (!names) { 
textArea.style.display = "block"; 
mybutton.style.display = "block"; 
} else { 
    textSplit = localStorage.names.split(/\n/); 
    copyInput1.innerHTML = textSplit[0]; 
    copyInput2.innerHTML = textSplit[1]; 
    copyInput3.innerHTML = textSplit[2]; 
} 

document.getElementById("textArea").focus(); 

var showText = function() { 
    var text = textArea.value;  
    localStorage.names = text; 
    textSplit = localStorage.names.split(/\n/);  
    copyInput1.innerHTML = textSplit[0]; 
    copyInput2.innerHTML = textSplit[1]; 
    copyInput3.innerHTML = textSplit[2]; 
} 

mybutton.onclick = showText; 
clearbutton.onclick = localStorage.clear(); 

任何帮助表示赞赏。

+0

那么如果你刷新多次会发生什么? – Jon

+0

“textArea”,“mybutton”,“textSplit”,“copyInput_”和“clearButton”定义在哪里? – Broxzier

+0

textArea,mybutton,copyInput_在js文件的开始处定义,mybutton和在最后清除Button。在所看到的函数中定义了textSplit。它适用于一次刷新,但第二次全部清除。 – Russell

回答

5

您正在执行上localStorageclear()这可以解释为什么它清除:

clearbutton.onclick = localStorage.clear(); 

更改为:

clearbutton.onclick = localStorage.clear; 

这样你引用函数。

+0

但是,做了那个,现在还不清楚。 – Russell

+0

废话 - 我愚蠢的语法错误。谢谢你的帮助。 – Russell

+0

谢谢 - 这很有道理。 – Russell

相关问题