Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Не правильно читается переменная (https://javascript.ru/forum/css-html/54945-ne-pravilno-chitaetsya-peremennaya.html)

Splunchik 07.04.2015 17:31

Не правильно читается переменная
 
Пишу приложение для хрома. Хочу сделать запоминание настроек, нормальной статьи на эту тему не нашел, поэтому все эксперементами, JS тоже знаю не очень хорошо.
Собственно есть html с настройками
<html>
	<head>
		<meta charset="utf-8">
		<script src="options.js"></script>
	</head>
	<body>
		<div id="options">
			<input id="resLoad" type="checkbox" checked="checked" name="resLoad"> Галочка
			<br>
			<input id="saveOptions" type="button" name="saveOptions" value="Сохранить"> 
		</div>
	</body>
</html>


Есть скрипт options.js

window.onload = function() {
	onLoad()
	saveOpt();
};

function saveOpt() {
	document.getElementById('saveOptions').onclick = function() {
		window.localStorage.resLoad = document.getElementById('resLoad').checked;
	};
};

function onLoad() {
	alert(window.localStorage.resLoad);
	if (window.localStorage.resLoad == null){
		window.localStorage.resLoad = "true";
	};
	document.getElementById('resLoad').checked = window.localStorage.resLoad;
};


Интересует последняя строчка, которая не работает. Т.е. если вместо нее поставить
window.localStorage.resLoad = false;

то галочка убирается, а если оставлять как есть то не реагирует, даже когда window.localStorage.resLoad = false (видно через alert)

Что я делаю не так ?

Splunchik 07.04.2015 17:40

Сам разобрался... эта переменная строковая.

Есть какой нибудь простой способ привести ее к логической? у нее только 2 значения тру или фалс.

Splunchik 07.04.2015 17:46

Опять сам нашел

document.getElementById('resLoad').checked = (window.localStorage.resLoad == 'true');


может кому то пригодится

PS сам с собой поговорил)) но пока тему не создал часа три потратил, а тут 15 мин и готово)


Часовой пояс GMT +3, время: 03:22.