2016-11-15 2 views
0

У меня есть эта часть кода, которая добавляет значения в массив с полем ввода. Я хотел бы сохранить этот массив в localStorage и отобразить содержимое массива на другой странице.javascript array in localstorage

<button type="button" id="submit">Submit</button> 
<button type="button" id="display">Display</button> 
window.onload = function() { 
    var inputArray = []; 
    var input = document.getElementById('inputbox'); 
    var screen = document.getElementById('screen'); 

    document.getElementById('submit').onclick = function() { 
     inputArray.push(input.value); 
     screen.innerHTML = input.value; 
    }; 

    document.getElementById('display').onclick = function() { 
     screen.innerHTML = inputArray 
    }; 
} 
+3

Итак, какова ваша проблема сейчас? Не могли бы вы рассказать об этом? –

+0

Когда я обновляю страницу, содержимое массива теряется, я хотел бы сохранить это содержимое в localstorage. Чтобы массив не очищался при обновлении страницы. – ekbayrak2

+0

Где вы реализовали логику добавления массива yo LocalStorage? – xAqweRx

ответ

2

Данные не сохраняются в localStorage. Поскольку localStorage сохраняются только строковые данные, вы можете stringify при хранении и parse при чтении.

window.onload = function() { 
    var inputArray = []; 

    //Check if data is persisted in localStorge then load in the array 
    var str = localStorage.getItem('nyArray') 
    if (str) { 
     inputArray = JSON.parse(str); 
    } 

    var input = document.getElementById('inputbox'); 
    var screen = document.getElementById('screen'); 

    document.getElementById('submit').onclick = function() { 
     inputArray.push(input.value); 
     screen.innerHTML = input.value; 

     //Store stringifyed string 
     localStorage.setItem('nyArray', JSON.stringify(inputArray)) 
    }; 

    document.getElementById('display').onclick = function() { 
     screen.innerHTML = inputArray 
    }; 
} 
+1

он должен быть 'setItem' вместо' getItem' внутри submit 'click'. – sam

+0

В вашем фрагменте вы произнесли 'localStorage' как' localStorge' –

+0

Спасибо, ребята, за опечатку. – Satpal

-2

Использование глобальных переменных смотрите ниже

window.savedarray = inputArray

теперь вы можете получить доступ к savedarray на других страницах

+0

Downvoted, потому что он не хранит массив в localstorage, а просто сохраняет его как глобальную переменную. –

+0

Также хранение глобальной переменной (что само по себе является плохим) не делает эту переменную доступной на любой другой странице сайта. –

1

Вы можете stringify ваш массив, а затем сохранить его в localStorage. При необходимости прочитайте и нажмите parse обратно в массив.

var originalArr = ["V", "A"]; 
var strArr = JSON.stringify(originalArr); 

// to save your array 
localStorage.setItem("YOUR_KEY",strArr); 

// to read from localstorage 
var yourOriginalArray = localStorage.getItem("YOUR_KEY");