Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Web > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 07.09.2019, 16:27   #1
hsada3
Новичок
Джуниор
 
Регистрация: 07.09.2019
Сообщений: 1
По умолчанию Вывод данных из localStorage

Здравствуйте.
Имеется код, который запоминает введенные пользователем имя (name) и фамилию (family-name). Затем перенаправляет на страницу (page2.html), где с помощью <span class="name"> и <span class="family-name"> выводит указанные пользователем данные.
Имя (name) выводится нормально, а вот фамилия (family-name) не выводится вместе нее пишется NaN. Подскажите, в чем тут может быть ошибка?

Код:
<section id="user-greeting">
	<form>
		<label>
			Имя
			<input type="text" autocomplete="name" name="name" required>
		</label>
		<label>
			Фамилия
			<input type="text" autocomplete="family-name" name="family-name" required>
		</label>
		<button onclick="location.href='https://site.ru/page2.html'">Запомнить</button>
	</form>
	<section>
		<span class="name"></span><br><br>
		
		<span class="family-name"></span>
		
		
	</section>
</section>
Код:
<script>
	(function main() {
		var form = document.querySelector("#user-greeting > form");
		var section = document.querySelector("#user-greeting > section");
		
		function changeView() {
			if ("name" in localStorage) {
				form.style.display = "none";
				section.style.display = "";
				document.querySelector("#user-greeting .name").textContent = localStorage.name;
				document.querySelector("#user-greeting .family-name").textContent = localStorage.family-name;
			} else {
				section.style.display = "none";
				form.style.display = "";
			}
		}
		
form.addEventListener("submit", function(event) {
            event.preventDefault();
            var data = new FormData(form);
            localStorage.name = data.get("name");
            localStorage.family = data.get("family-name");
            changeView();
        });
		

		
		changeView();
	})();
</script>
hsada3 вне форума Ответить с цитированием
Старый 07.09.2019, 23:33   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

Цитата:
Сообщение от hsada3 Посмотреть сообщение
localStorage.family = data.get("family-name");
записываете в localStorage.family
а читать пытаетесь из localStorage.family-name
исправьте строчку на
Код:
document.querySelector("#user-greeting .family-name").textContent = localStorage.family;
и всё заработает.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS Внесение и вывод в localstorage Владимир Алматы JavaScript, Ajax 1 01.03.2015 17:17
localstorage ktjybl HTML и CSS 5 26.08.2013 14:53
localstorage byMary JavaScript, Ajax 1 03.08.2012 09:03
localStorage fratela JavaScript, Ajax 2 26.04.2012 15:14
localStorage Anoobis JavaScript, Ajax 0 31.05.2011 11:45


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS