Почему не работает этот код локального хранилища? - PullRequest
1 голос
/ 05 мая 2020

Это мой код для индекса. html

<form action = "indo.html">
      <input type = "text" id = "tex">
      <button id = "tex">Submit</button>

    </form>
    <script>

      var o = document.getElementById("tex").value;
      localStorage.setItem("three", o);
    </script>

Это мой код для инд. html

<script>
  var n = localStorage.getItem("three");
  document.write("Welcome "+n);
</script>

Ответы [ 2 ]

3 голосов
/ 05 мая 2020

На самом деле это работает. Но значение пусто .set Начальное значение на входе. Потому что его установленное значение при загрузке страницы не после отправки формы

Попробуйте это

<form action="indo.html">
  <input type="text" id="tex" value="something">
  <button id="tex">Submit</button>

</form>
<script>
  var o = document.getElementById("tex").value;
  localStorage.setItem("three", o);
</script>

инд. html

<script>
  var n = localStorage.getItem("three");
  document.write("Welcome " + n);
</script>
0 голосов
/ 05 мая 2020

Если вы хотите сохранить данные в локальное хранилище, я предлагаю следующий код:

<form >
  <input type = "text" id = "tex">
  <button id = "texb">Submit</button>
</form>

function fun_sub(){
 const val = document.getElementById("tex").value;
  localStorage.setItem("three", val);
  console.log(localStorage.getItem("three"));
  window.open("/indo.html", "_self");
}

В вашем коде идентификатор имени элемента ввода и элемента кнопки одинаков! эта ошибка возвращает ошибку, если вы вызываете getElementById в javascript, и вы должны учитывать, что когда вы пишете код и хотите снова вызвать код после страницы рендеринга, вы должны вызвать его в функции.

...