2017-02-01 4 views
2

JSONを使用するのが最良の方法だとわかっていますが、それは私が理解するには複雑すぎます。したがって、私のデータがローカルストレージに上書きされないようにする他の方法があるかどうか尋ねるかもしれません。 forループを使用するか、別のキー名を使用する例HTML/JavaScriptの新機能として私の例を挙げて私を助けてください。さらに多くのデータをローカルストレージに保存する

function saveToLS(){ 

    var Name = document.getElementById("rName"); 
    var namesaved = Name.value; 
    localStorage.setItem("Name",namesaved); 


    var Comment = document.getElementById("rComment"); 
    var commentsaved = Comment.value; 
    localStorage.setItem("Comment",commentsaved); 


} 
+0

多くの人がJSONオブジェクトを使用するほうが好きです。なぜなら、JSONオブジェクトは強力なメソッドを備えているため、データを簡単に取得できるからです。 JSONを使用したくない場合は、上記のように手動ですべてのキーを1つずつ追加し、1つずつ取得する必要があります。 – Sravan

+0

あなたのデータがオーバーライドされないように識別子(ユニークキー)または名前空間を使用してください – marmeladze

+0

しかし、私はそれをどうやって行いますか?私は手動でそれらのための異なるキーを持っていた。しかし、私のローカルストレージに格納されている場合、その値はすべて同じ部分の –

答えて

0

これらの倍数を保存しますか?それらを配列またはオブジェクトに格納し(たとえばタイムスタンプIDフィールドを追加するなど)、配列をLSに格納する必要があります。

0

最高のオプションはJSONを使用しています。 JSONはそれほど複雑ではありません。これは、配列やオブジェクトのような言語構造のストリング化の結果である文字列です。

配列:[]、文字列化されたバージョン:"[]"です。したがって、要素を配列にプッシュする必要があります。どうやって?保存されたJSON文字列を解析して配列に変換し、要素をプッシュして新しい配列を文字列化します。次に例を示します。

var names = localStorage.getItem("Name"); 
names = names ? JSON.parse(names) : []; 
names.push('newName'); 

localStorage.setItem("Name", JSON.stringify(names)); 

1つの項目に属する2つのデータを格納するために2つのキーを使用しないでください。維持するのは難しいでしょう。データがすでに存在する場合、その真ならlocalStorage.getItemを用い

comments.push({ 
    author: 'name of the author', 
    comment: 'here goes the comment body...' 
}) 
0

Yeah..Me Also new In this Part... but I hope to you help full this code please try It.. 
 

 
var key = 0; 
 

 
for(key;key<10;key++){ 
 
    localStorage.setItem(key, localStorage.getItem(key) + "Datas"); 
 
}

0
function saveToLS(){ 

var Name = document.getElementById("rName"); 
var namesaved = Name.value; 
if(localStorage.setItem("Name").length){ //the data already exists 
    // Do whatever if the data already Exists...... 
}else{ 
    localStorage.setItem("Name",namesaved); 
} 


var Comment = document.getElementById("rComment"); 
var commentsaved = Comment.value; 


if(localStorage.setItem("Comment").length){ //the data already exists 
    // Do whatever if the data already Exists...... 
}else{ 
    localStorage.setItem("Comment",commentsaved); 
} 

}

チェック():オブジェクト、オブジェクトの配列を使用データをもう一度書き込まないでください。そうであれば、別のキーでデータを保存するようにしてください。

if(localStorage.setItem("Name").length){ //the data already exists 
localStorage.setItem("SomethingElse...",namesaved); //something else 
}else{ 
    localStorage.setItem("Name",namesaved); 
} 
+0

です。//データが既に存在する場合は何でも実行します。私は何をすべきか分かりません。 –

+0

何かデータがすでに存在する場合は何をしたいのですか?古いデータを保存するか古いデータと新しいデータを保存したいですか? –

+0

古いデータと新しいデータの両方を保存します。上書きは、私がブログを作っているときに起こりたくない問題です。そして私はそれが印刷される特定の場所を持っています –

関連する問題