Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将多个用户输入保存到本地存储中_Javascript_Html_Storage_Local - Fatal编程技术网

Javascript 将多个用户输入保存到本地存储中

Javascript 将多个用户输入保存到本地存储中,javascript,html,storage,local,Javascript,Html,Storage,Local,我想知道是否有人能帮我处理本地存储。我希望能够将多个用户值存储到本地存储中,并单独显示它们,以便它们可以用作按钮/链接。下面是我尝试过的一些代码: locatArray = new Array(); function save() { var fieldValue = document.getElementById("input").value; var locatItem = locatArray.push(fieldValue);

我想知道是否有人能帮我处理本地存储。我希望能够将多个用户值存储到本地存储中,并单独显示它们,以便它们可以用作按钮/链接。下面是我尝试过的一些代码:

    locatArray = new Array();

    function save() {
        var fieldValue = document.getElementById("input").value;
        var locatItem = locatArray.push(fieldValue);

        localStorage.setItem("text", JSON.stringify(locatArray));
    }

    window.onload = function load() {
        var storedValue = JSON.parse(localStorage.getItem("text"));
        if(storedValue) {
            document.getElementById("display").innerHTML = (storedValue);
        }
此代码允许用户在一个键中存储多个值。但是,由于它是一个数组,当刷新页面并且用户输入不同的数据时,本地存储值将被覆盖。此外,不能单独访问每个值


我刚开始使用本地存储,我想知道是否有人能帮我

您需要更新数据,而不是覆盖它。实现一些同步机制,首先从localStorage获取数据,然后推送新项并再次存储更新的数据,而不是覆盖存储的数据

如果要删除某些项目,请执行相同的操作。从localStorage获取阵列,只需删除不再需要的项,然后再次将阵列存储在localStorage中

使用您的代码:
天气URL
作为键

这将更新存储在localStorage中的阵列

function save() {
    var fieldValue = document.getElementById("input").value;

    var arrayOfLinks = localStorage.getItem("weather_urls");
    if(!arrayOfLinks){
        arrayOfLinks = []; // this is better way how to declare array not new Array()
    }
    arrayOfLinks.push(fieldValue);
    localStorage.setItem("weather_urls", arrayOfLinks);
}

window.onload = function load() {
    var storedValue = localStorage.getItem("weather_urls");
    if(storedValue) {
        document.getElementById("display").innerHTML = storedValue;
    }

你在玩键/值对,听起来好像你想在数据库中运行临时表以更好地满足你的需要。这个想法是为天气应用程序添加位置。用户将输入一个位置,该位置将存储在本地存储器中,并在用户打开web应用程序时显示在列表中。他们可以点击列表中的位置来显示天气。如果没有预定义的按钮,如何执行此操作?是否要同时显示所有位置?是否希望能够根据需要添加、删除位置?您是否只需要天气或其他信息的链接?是的,我希望它能一次显示所有位置,并允许用户添加和删除位置。我只需要一个天气的链接,没有其他数据。我已经根据这个讨论改变了我的答案。所以基本上你需要实现某种同步。首先获取值,然后将新值添加到现有值中。同样的事情,删除。