2016-04-27 17 views
1

コード:localstorageからjavascriptの値を復元するには?

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になります。ユーザーが誤ってページを閉じた場合、インターネットによってページがすべての値がlocalstorageから復元されるという意味で再読み込みされました。

あなたがテキスト3の値をリロード.text2値は

を来て来ていない私は.Iは、このフォームに.ANYのヘルプは非常に有用であろう長い長い時間を働いていますどのような方法で値を取得するには助けてください。

ありがとうございます。

+0

コンソール内の任意のエラーを参照していますか? – Raze

+0

@Razeエラーなしデータ –

+0

コンソールにwindow.localStorageを入力してその内容を確認できますか? – Raze

答えて

1

下記のようなフィドルリンクが問題を解決すると思います。

Check it.

  $('#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) 
+0

このコードでは申し訳ありませんアップデートを確認してください –

+0

上記のコードがうまくいかない場合はご迷惑をおかけください –

+0

申し訳ありませんが、私は間違いを犯しました。今すぐご確認ください。 – Eshu

関連する問題