2015-02-09 78 views
1

我在我的頁面上有多個輸入,並將它們的數據存儲在< span> ... </span>中(由於文本是鍵入並存儲的,因此不會從這些文本中消失) < span>字段)。localStorage getItem問題

 var newDate = document.getElementById('event_date');//my input 
     var storageNewDate = newDate.value;//my text inside <input> which transfers it to <span> 
     localStorage.setItem('Date', storageNewDate);//the data is stored 

但我無法從localStorage檢索存儲的數據。我的Web開發工具告訴我存儲的數據存在,但是當我打開或重新加載頁面時,我的空間字段爲空。

var insideSpanTags = document.getElementsByClassName("spanEvent");//all my <spans> 
     insideSpanTags.innerHTML = localStorage.getItem('Date');// I want my stored data to be shown there 

所以,我怎麼能進去<跨度我每次刷新或重新加載頁面時我的存儲數據>標籤?

回答

1

您需要循環您選擇

var insideSpanTags = document.getElementsByClassName("spanEvent"); 

for(var i=0; i<insideSpanTags.length; i++){ 
     insideSpanTags[i].innerHTML = localStorage.getItem('Date'); 
} 

原因insideSpanTags的所有元素的數組集合。


由於您使用對象的數組,你需要JSON.stringify你的對象數組的localStorage。比來獲取值使用JSON.parse

jsBin demo

var insideSpanTags = document.getElementsByClassName("spanEvent"); 
var events = [ 
    { 
     'date': '7-1-2015', 
     'event': 'Event Title', 
     'participants': 'John, Robert', 
     'description': 'Football'   
    }, 
    { 
     'date': '23-1-2015', 
     'event': 'Event Title 2', 
     'participants': 'Peter, Rob', 
     'description': 'Basketball'   
    }, 
]; 


// On Save, use this to store your events: 
localStorage.evts = JSON.stringify(events); 
// Now events are stored in LS 


// After it's saved but also while first reading use: 
var storedEvts = JSON.parse(localStorage.evts); 
console.log(storedEvts); 


// Just to test 
storedEvts.forEach(function(el, idx){ 
    insideSpanTags[idx].innerHTML = el.date; 
}); 

// Result: 
//> 7-1-2015 
//> 23-1-2015 
+0

這就是它!感謝名單!但是請你能告訴我,我怎樣才能得到一個特定的數據,因爲在我把這個循環放到這個循環中後,它會在標籤中給我顯示相同的'Date'數據。我想在標籤中看到一個獨特的數據。就像你在那裏創建了一些事件(這不是我創建的,這只是爲了解釋)http://jsfiddle.net/5d4vh891/ 然後希望它顯示在它自己的單元格中(不是每個單元格中的相同事件) – 2015-02-09 20:24:26

+0

@AlexandrBelov你需要學習如何在localStorage中存儲對象,然後解析它以檢索所需的值。 – 2015-02-09 20:26:17

+0

@AlexandrBelov從你的問題中無法知道你正在存儲什麼樣的數據。正如我看到你正在存儲一個'ID'的元素'value',所以你的評論有點奇怪。 – 2015-02-09 20:27:19