2013-05-28 37 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

相關問題