2016-06-21 26 views
3

後で他のページで使用するためにlocalstorageの値を安全にしようとしていますが、動作させることができません。html5 localstorage入力を保存しない

私の入力フィールド:

<input type="text" name="test" value="" id="test" required /> 
     <span class="highlight"></span> 
     <span class="bar"></span> 
     <label>enter something</label> 

マイスクリプト:

<script> 

function getStorage(type) { 
    var storage = window[type + 'Storage'], 
    delta = 0, 
    p = document.createElement('p'); 

    if (!window[type + 'Storage']) return; 

    if (storage.getItem('value')) {  
    p.innerHTML = type + 'Storage: ' + storage.getItem('value'); 
    } else { 
    p.innerHTML = type + 'nothing safed'; 
    } 

    document.querySelector('#output').appendChild(p); 
} 

getStorage('test'); 


addEvent(document.querySelector('#test'), 'keyup', function() { 
    localStorage.setItem('value', this.value); 
}); 


</script> 

マイ出力:

<p id="output"></p> 

注:私はそれを作るためにh5utils.js(https://java.net/projects/prototype/sources/svn/content/trunk/demosprojects/AjaxAdmin/web/h5utils.js?rev=11)を使用していますすべての仕事が、私は出力を得ることができません。コンソールにエラーはありません。

+2

さて、 'window.testStorage'のようなものはありませんので、あなたの' getStorage( 'test') '呼び出しはすぐに戻ります。 –

+1

私がここに見るのは、キー "value"を使ってlocalStorageに書き込まれた値です。そして、testStorageから値を取得しようとします。これは無意味です。代わりに 'getStorage( 'local')'を呼び出してください。 – ManoDestra

+0

応答ありがとう! getStorage( 'test')をgetStorage( 'local')に変更すると、そのトリックが行われますか? –

答えて

1

getStorage関数を 'test'の型を渡して呼び出すと、もちろん存在しないwindow.testStorageを参照しようとします。

使用...

getStorage('local'); 

...代わりのlocalStorageを検索します。

+1

愚かな間違い、私は休憩を取ってコーヒーを取るべきです。とにかく、ありがとう! –

関連する問題