本地存储只存储一个值/键。我如何存储大量?

Posted

技术标签:

【中文标题】本地存储只存储一个值/键。我如何存储大量?【英文标题】:Local Storage only stores one value/key. How can I store numerous? 【发布时间】:2021-03-09 10:52:55 【问题描述】:

这是我所有的 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.... 就像变量名一样。

【讨论】:

以上是关于本地存储只存储一个值/键。我如何存储大量?的主要内容,如果未能解决你的问题,请参考以下文章

我可以使用啥查询从选定键值的本地存储中获取数据

HTML5 本地存储 - 我可以为每个键存储多个值,如果不能,我可以使用啥替代方案?

获取 HTML5 本地存储密钥

将 url 留在 Angular 中时从本地存储中删除值

如果没有值,HTML5 本地存储对象会返回啥? [关闭]

如何在 C# 代码中从本地存储中检索值?