Локальное хранилище хранит только одно значение / ключ. Как я могу хранить многочисленные?

#javascript #local-storage #storage #local

#javascript #локальное хранилище #Хранение #Местные новости

Вопрос:

Вот весь мой код из HTML, включая мое локальное хранилище. Я попытался поместить свой javascipt во внешний JS-файл и сослаться на него в моем HTML, но это совсем не помогло. Поэтому я думаю, что ошибка заключается в написанном коде, а не в размещении? Заранее благодарю вас за помощь!

     <body>
    <h1>Sign Up</h1>
    <p>Please fill out this form</p>
    <div class="element">
        <form class="item" action="indsæt reference">
            <label for="fname">First name:</label><br>
            <input type="text" id="fname" name="fname" value="Name"><br>
            <label for="lname">Last name:</label><br>
            <input type="text" id="lname" name="lname" value="Last Name"><br>
            <label for="mail">E-mail:</label><br>
            <input type="text" id="mail" name="mail" value="mail"><br>
            <form action="/action_page.php">
                <label for="bdaymonth">Birthday:</label>
                <input type="month" id="bdaymonth" name="bdaymonth">
            </form>
            <label for="gender">Gender</label><br>
            <input type="text" id="gender" name="gender" value="gender"><br>
            <button onClick="storeData()" type="button" value="Send Data">Submit</button>
        </form>
    </div>
    <script>
        function storeData() {
            let fname = document.getElementById("fname").value;
            let lname = document.getElementById("lname").value;
            let mail = document.getElementById("mail").value;
            let bdaymonth = document.getElementById("bdaymonth").value;
            let gender = document.getElementById("gender").value;

            //så jeg kan oprette min key, med efterfølgende value af array
            let user = {
                name: fname,
                lastName: lname,
                Birthday: bdaymonth,
                Gender: gender,
                Mail: mail
            }
            //min localestorage
            localStorage.setItem("New User", [user.name, user.lastName, user.Birthday, user.Gender, user.Mail]);
        }
    </script>
</body>
 

Ответ №1:

localStorage.setItem("New User",JSON.stringify(user));

для считывания данных как объекта: let user = JSON.parse(localStorage.getItem("New User"));

Ответ №2:

 const value = JSON.stringify([user.name, user.lastName, user.Birthday, user.Gender, user.Mail]);
localStorage.setItem("New User",value);
 

или

 const value = JSON.stringify({
   name:user.name,
   lastName:user.lastName,
   birthday:user.Birthday,
   gender:user.Gender,
   mail:user.Mail
})
localStorage.setItem("New User", value};
 

или

 localStorage.setItem("userName", user.name);
localStorage.setItem("userLastName", user.lastNane);
 

Кстати, возможно, вам следует вызвать ключ newUser вместо New User …. например, имя переменной.