簡體   English   中英

如何從localstorage恢復javascript值?

[英]How to restore javascript value from localstorage?

代碼 :

Test2 =<input type="text" id="idfield1" name="test2">
<br/> Test3 =<input type="text" id="idfield2" name="test3">
<script>
$('#idfield1').keypress(function() {
  document.getElementById('idfield2').value='text to be displayed' ; 
});
(function(window, document, undefined) {
  function changeSelect(event) {
    if (event.target.type == 'checkbox' || event.target.type == 'radio') {
      window.localStorage.setItem(event.target.id, event.target.checked ? 'checked' : 'unchecked');
    } else {
      window.localStorage.setItem(event.target.id, event.target.value);
    }
  }

  function load(event) {
    var i = 0,
      k, e;
    while (i < window.localStorage.length) {
      k = window.localStorage.key(i++);
      e = document.getElementById(k);
      if (e) {
        if (e.type == 'checkbox' || e.type == 'radio') {
          e.checked = window.localStorage.getItem(k) == 'checked';
        } else {
          e.value = window.localStorage.getItem(k);
        }
      }
    }
  }

  function clearData(event) {
    window.localStorage.clear();
  }
  window.addEventListener('load', load, true);
  window.addEventListener('change', changeSelect, true);
  window.addEventListener('select', changeSelect, true);
  window.addEventListener('keyup', changeSelect, true);
  window.addEventListener('click', changeSelect, true);
  window.addEventListener('submit', clearData, true);
})(window, document)
</script>

http://jsfiddle.net/kxc156ox/6/

我想在瀏覽器意外關閉或重新加載時恢復輸入值。

多個值來自基於用戶輸入的 javscript。如果用戶不小心關閉了頁面,由於互聯網,他的頁面被重新加載,所有值都應該從本地存儲恢復。

當你重新加載 text3 值不來時 .text2 值來了

請幫助我以任何方式獲得價值。我在這個表格上工作了很長時間。任何幫助都會非常有用。

提前致謝 。

我認為下面的小提琴鏈接將解決您的問題。

核實。

            $('#idfield1').keypress(function(evt) {
      document.getElementById('idfield2').value=evt.currentTarget.value ; 
    });
    (function(window, document, undefined) {
      function changeSelect(event) {
        var elements = document.getElementsByTagName("input");
        //For query selection use below code
        //var element = document.querySelectorAll("input[type=text]");
        for(var index=0; index<elements.length; index++){
            if (elements[index].type == 'checkbox' || elements[index].type == 'radio') {
            window.localStorage.setItem(elements[index].id, elements[index].checked ? 'checked' : 'unchecked');
          } else {
            window.localStorage.setItem(elements[index].id, elements[index].value);
          }
        }
      }

      function load(event) {
        var i = 0,
          k, e;
        while (i < window.localStorage.length) {
          k = window.localStorage.key(i++);
          e = document.getElementById(k);
          if (e) {
            if (e.type == 'checkbox' || e.type == 'radio') {
              e.checked = window.localStorage.getItem(k) == 'checked';
            } else {
              e.value = window.localStorage.getItem(k);
            }
          }
        }
      }

      function clearData(event) {
        window.localStorage.clear();
      }
      window.addEventListener('load', load, true);
      window.addEventListener('change', changeSelect, true);
      window.addEventListener('select', changeSelect, true);
      window.addEventListener('keyup', changeSelect, true);
      window.addEventListener('click', changeSelect, true);
      window.addEventListener('submit', clearData, true);
    })(window, document)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM