Функция локального хранилища с инкрементным / уменьшающимся значением

#javascript #html #forms #local-storage

#javascript #HTML #формы #локальное хранилище

Вопрос:

Я создал инкрементную и декрементную функции для значения формы. На данный момент с локальными переменными все идет хорошо.

Но как я могу теперь заставить его работать так, чтобы значение сохранялось в Localstorage? И как я могу получить его после и вызывать его всякий раз, когда мне это нужно, также на других страницах, например, для использования в качестве игрового счета?

Уже много раз пробовал, в одиночку найти решение, и ничего не получалось.

 <form id="score">
   <input type="text" id="number" value="0"/>
   <input type="button" onclick="incrementValue3()" value=" 60" />
   <input type="button" onclick="incrementValue2()" value=" 30" />
  </form>

<script>

function incrementValue3()
{
    var value = parseInt(document.getElementById("number").value, 10);
    value = isNaN(value) ? 0 : value;
    value = value   60;
    document.getElementById("number").value = value;
};

function incrementValue2()
{
    var value = parseInt(document.getElementById("number").value, 10);
    value = isNaN(value) ? 0 : value;
    value = value   30;
    document.getElementById("number").value = value;
};

</script>
  

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

1. Ваш вопрос очень неясен, где и как вы хотите использовать localStorage? Пожалуйста, также ознакомьтесь с документацией: w3schools.com/jsref/prop_win_localstorage.asp

2. Где: В разделе «значение» формы. Как: в качестве счетчика очков для игры.

3. Например: я нажимаю кнопку -> оценка увеличивается до 30 пунктов. Затем я нажимаю другую кнопку, на другой странице оценка извлекается из Localstorage, а предыдущие 30 пунктов теперь добавляются к другим 20 пунктам.

Ответ №1:

Для сохранения значения в localStorage используйте следующую строку кода :

 var value = parseInt(document.getElementById("number").value, 10);
localStorage.setItem("value", value);
  

Чтобы использовать значение где-либо, пользователь

 localStorage.getItem("value");
  

Для вашего варианта использования:

 document.getElementById("result").value = localStorage.getItem("value");
  

Пожалуйста, обратитесь к документации для получения более подробной информации: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

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

1. @Javanoob87 Пожалуйста, примите ответ, если он решил вашу проблему. 🙂

2. Я попробую. Я дам отзыв об этом, если он будет работать внутри формы так, как мне нужно (с приращением и уменьшением, которые мне нужны). Пока спасибо.

3. Это почти сработало. Но только один раз. Тогда приращения нет, и всякий раз, когда я нажимаю, чтобы добавить значение ( 30 или 60), оно обновляется до значения, увеличенного за один раз. значение формы.