Я пытаюсь использовать локальное хранилище HTML5. Заполняю поля ввода и нажимаю кнопку «магазин». Затем я перезагружаю страницу, и поля ввода очищаются. Затем я нажимаю кнопку «получить», ожидая, что поле ввода P1 будет заполнено из локального хранилища. Но поле остается пустым. В чем моя ошибка?
<button onclick = "store()" >STORE</button>
<button onclick = "retrieve()" >RETRIEVE</button> <br />
<input type = "text" id = "P1"><br />
<script>
function store()
{
localStorage.setItem("S1", "P1");
}
</script>
<script>
function retrieve()
{
document.getElementById("P1").value= localStorage.getItem("S1");
}
</script>
Я починил это. По-прежнему не работает.
Ваш текущий код сохраняет строковый литерал в localStorage, возможно, вы имели в виду document.getElementById("P1").innerHTML
? Также обратите внимание, что некоторые браузеры не предоставляют localStorage, если вы загружаете страницу с использованием протокола file
, например Microsoft Edge.
Уххх нет. document.getElementById ("P1"). innerHTML также является литералом.
ваш код работает
Тег HTML: input, textarea = используйте «значение», а не «innerHTML».
document.getElementById("P1").value= localStorage.getItem("S1");
Это просто отображает "P1" в поле ввода "retrieve ()".
@verlager, который вы храните
Итак, чтобы сохранить значение ввода в localstorage, вы должны получить значение из id и затем передать его в качестве второго параметра в setItem
:
localStorage.setItem("S1", document.getElementById("P1").value);
может быть
localStorage.getItem("S");
?