0

私はこれに取り組んできましたが、ほとんど機能しています。ループ内の setInterval は、実行できない、または機能していないものだと感じています。setInterval と最後の 'if' ステートメントがなければ、要素を完全にループし、設定した場合はそれぞれに className を追加します。誰かが私が間違っている場所についてアドバイスできる場合、これが私のスクリプトです:

(function() {
    var localStorageID = document.getElementById('local-storage');
    var inputTags = ['input', 'textarea', 'select', 'button'];

    // Loop through all the input tags on the page
    for(var i = 0; i < inputTags.length; i++) {

        // Create a variable that matches input tags inside our #localStorage
        var localStorageTag = localStorageID.getElementsByTagName(inputTags[i]);

        var formData = {};

        for(var z = 0; z < localStorageTag.length; z++) {
            formData[localStorageTag[z].name] = localStorageTag[z].value;
        }

        localStorage.setItem('formData', formData);

        if(localStorage.getItem('formData')) {
            // Try to achieve something
        }   
    }
})();
4

1 に答える 1

0

オブジェクトを localStorage に格納することはできません。それらは文字列でなければなりません。JSON.stringify() を使用してオブジェクトを文字列に変換し、localStorage から取得するときに JSON.parse() 文字列を変換します。

編集:例:

localStorage.setItem('formData', JSON.stringify(formData));
var fd= JSON.parse(localStorage.getItem('formData'));

if(fd) {
    // Try to achieve something
} 
于 2013-02-06T22:09:06.300 に答える