локальное хранилище / флажок / не отображает значения

#javascript #html #css

#javascript #HTML #css

Вопрос:

Я попытался распечатать значения флажка на другой HTML-странице, используя локальное хранилище, но он не отображался на другой HTML-странице

Вот моя страница 1 HTML

 <input class="checkbox" type="checkbox" id="option1" name="car1" value="BMW">
            <label for="vehicle1">BMW</label><br>
            <input class="checkbox" type="checkbox" id="option2" name="car2" value="Ferrari">
            <label for="vehicle2">Ferrari</label><br>
            <input checkbox="checkbox" type="checkbox" id="option3" name="car3" value="Ford">
            <label for="vehicle3">Ford</label><br>
            <input class="checkbox" type="checkbox" id="option4" name="car4" value="Audi">
            <label for="vehicle4">Audi</label><br>
            <input class="checkbox" type="checkbox" id="option5" name="car5" value="Cadillac">
            <label for="vehicle5">Cadillac</label><br>  

Вот мой код javascript

 for (var i = 0; i < inputs.length; i  ) {
        if (inputs[i].type == "checkbox" amp;amp; inputs[i].checked) {
            count2  ;
            localStorage.setItem("checkvalue", inputs[i].value);

        }
    }  

 <script>
// page2 HTML
            <span id="result"></span>,Welcome
            document.getElementById("result").innerHTML = localStorage.getItem("checkvalue");
        </script>  

Комментарии:

1. Вы перезаписываете checkvalue значение на каждой итерации. Также для большей согласованности вам необходимо создать JSON, а затем сохранить JSON в localStorage.

Ответ №1:

Как упоминал @SMAKSS, вы переопределяете свой localstorage на каждой итерации.

Вместо

 for (var i = 0; i < inputs.length; i  ) {
  if (inputs[i].type == "checkbox" amp;amp; inputs[i].checked) {
    count2  ;
    localStorage.setItem("checkvalue", inputs[i].value);
  }
}
  

Вы должны

 localStorage.setItem("results", JSON.stringify(inputs));
  

И извлеките его с помощью

 JSON.parse(localStorage.getItem("results"));