Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.09.2019, 12:07
Кандидат Javascript-наук
Отправить личное сообщение для Lefseq Посмотреть профиль Найти все сообщения от Lefseq
 
Регистрация: 19.04.2019
Сообщений: 124

Помогите исправить код, который запоминает в куках и выводит на след странице данные
Здравствуйте. Имеется код, который запоминает в куках браузера введенные пользователем имя и фамилию. Затем перенаправляет на страницу (page2.html), где выводит указанные пользователем имя и фамилию.

Но данный код выводит данные из инпутов имя (name) и фамилия (family-name) в одну строчку, а как сделать, чтобы выводились на странице page2.html по отдельности, (например <span class="name"></span> и <span class="family-name"></span>, чтобы можно было поставить их в разные части страницы. Как это сделать? Помогите пожалуйста.

<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>, добро пожаловать на сайт!
        <button id="user-greeting-forget-button">Забудь обо мне!</button>
    </section>
</section>


(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;
            } 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"), data.get("family-name")].join(" ");
            changeView();
        });
        
        document.getElementById("user-greeting-forget-button").addEventListener("click", function() {
            delete localStorage.name;
            changeView();
        });
        
        changeView();
    })();

Последний раз редактировалось Lefseq, 06.09.2019 в 12:11.
Ответить с цитированием
  #2 (permalink)  
Старый 06.09.2019, 16:34
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Lefseq
Имеется код, который запоминает в куках браузера
Это хранение не в куках, а в локальном хранилище.

Сообщение от Lefseq
чтобы выводились на странице page2.html по отдельности
В смысле по отдельности, <span class="name">имя</span> <span class="family-name">фамилия</span>? Можно строку хранящуюся в локальном хранилище разбивать на две по пробелу, затем вставляя в соответствующий span. Можно хранить в локальном хранилище массив/объект имя/фамилия, соответственно каждый его элемент помещать в свой span. А уж в любом месте страницы, так это где их поместить там и будет отображение.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен код который будет искать совпадения на странице и потом пролистывать до нужной nomerochek Javascript под браузер 1 08.09.2016 10:33
Помогите исправить код слайдшоу. 47rus Общие вопросы Javascript 0 20.03.2016 18:43
Ребятки помогите найти код, который отвечает за стиль z-index kyivprogs Библиотеки/Тулкиты/Фреймворки 1 08.12.2015 17:46
Помогите исправить код Apelcun77 Общие вопросы Javascript 6 15.11.2013 23:06
Помогите исправить код bytzz Элементы интерфейса 1 02.11.2012 23:45