Javascript.RU

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

Как сделать, чтобы скрипт "запоминалка" помнил данные со всех страниц?
Здравствуйте. Помогите, пожалуйста решить следующую задачу. Ниже скрипт, который запоминает данные из формы введенные посетителем.

Проблема в том, что если на сайте несколько таких запоминалок, на разных страницах. То Браузер запоминает только данные введенные на последней странице.

Подскажите, как сделать, чтобы можно было ввести данные на странице А, затем на странице В, И уже на странице С получить выдачу с обеих страниц А и В?


Скрипт на странице запоминалки:

(function main() {
        var form = document.querySelector("#user-greeting > form");
        
        form.addEventListener("submit", function(event) {
            event.preventDefault();
            var data = new FormData(form);
            localStorage.name = JSON.stringify(Object.fromEntries(data));
            form.submit();
        });
    })();


Скрипт на странице выдачи:

document.addEventListener("DOMContentLoaded", function() {
    if("name" in localStorage === false) return location.replace("./");
    const data = JSON.parse(localStorage.name || "{}");
    
    for(const [key, value] of Object.entries(data)) {
      for(const node of document.querySelectorAll(`[data-field="${key}"]`)) {
        node.textContent = value;
      }
    }
    });


Форма:

<section id="user-greeting">
<form action="">    
 
<input il-action="listen" autocomplete="firstname" name="firstname" type="text">
 
<input il-action="listen" autocomplete="lastname" name="lastname" type="text">
 
<button>Отправить</button>
 
</form>
</section>


На странице выдачи:

<span data-field="firstname"><span></span></span>
<span data-field="lastname"><span></span></span>
Ответить с цитированием
  #2 (permalink)  
Старый 25.08.2020, 19:00
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Lefseq
если на сайте несколько таких запоминалок, на разных страницах. То Браузер запоминает только данные введенные на последней странице
name="firstname"
name="lastname"

А что у пользователя от страницы к странице меняется имя и фамилие?
Ответить с цитированием
  #3 (permalink)  
Старый 25.08.2020, 20:02
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,743

На странице А сохранять в localStorage.nameA,
На странице Б в localStorage.nameB
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать чтобы показывало высоту на гугл карте sergofedor06 Javascript под браузер 0 03.04.2017 20:28
Как сделать задержку отображения, пока не отработает скрипт? snovapavel jQuery 1 04.12.2016 06:28
как сделать так чтобы в popup окне принимался css стили,? sarik Общие вопросы Javascript 2 12.03.2013 10:24
Как сделать, чтобы у toggle была ненулевая высота? student-k Общие вопросы Javascript 7 15.08.2011 23:46
А как зделать скрипт, чтобы например скрипт 1 заменялся скриптом 2? yura371 Общие вопросы Javascript 3 06.01.2009 22:40