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

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

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

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

Ответ
 
Опции темы
Старый 07.09.2019, 17: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 вне форума   Ответить с цитированием
Старый 08.09.2019, 00:33   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,227
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


16:40.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.