Получить состояние флажка в местном хранилище
У меня уже есть состояние флажка, расположенного в 1.html, хранящемся в localStorage (может быть установлен или не установлен).
В другом документе, 2.html, используя vanilla javascript, как я могу узнать, установлен ли флажок или нет?
Пробовал это, не повезло
if localStorage.getElementById("my_checkbox").checked {
alert("checked") ;
}
а также
if localStorage.getItem("my_checkbox").checked {
alert("checked") ;
}
Спасибо!
1 ответ
Решение
LocalStorage хранит только строковые значения, поэтому вам сначала нужно получить их:
var storedValue = localStorage.getItem('myCheckbox');
затем выяснить, если значение true
был сохранен:
if(storedValue /* need to check for undefined */ && storedValue === 'true'){
alert('checked');
}
Однако я бы порекомендовал хранить строковый объект и анализировать его, а не работать со строками. Примерно так должно начаться:
// set data:
var lsData = {};
lsData.myCheckbox = documnent.getElementById("my_checkbox").checked;
var stringifiedData = JSON.stringify(lsData);
localStorage.setItem('lsData', stringifiedData);
// get data:
var dataToParse = localStorage.getItem('lsData');
if(dataToParse){
var lsData = JSON.parse(dataToParse);
alert(lsData.myCheckbox);
}