Ich versuche, mehrere Werte (Titel) in einem einzigen Schlüssel zu speichern. Ich fordere den Benutzer auf, den Titel zuerst einzugeben und dann in "Titel" zu speichern. Wenn ich jedoch mehrere Werte eintrage, wird nur ein Wert an den Schlüssel 'Titel' angehängt. Außerdem heißt es, dass title.push keine Funktion ist.Schieben von Arrays; Speichern von mehr als einem Wert in einem einzigen Schlüssel
//get the title from user
var title = prompt("What would you like your title to be?");
localStorage.setItem(title, editElem.innerHTML);
//save the editor contents to local storage based on title
document.getElementById("update").innerHTML = "Edits saved!";
var theDiv = document.getElementById("Contentable");
var content = document.createTextNode(title);
theDiv.appendChild(content);
var br = document.createElement("br");
theDiv.appendChild(br);
//save the all titles in array so you know what documents exist
var titles = localStorage.getItem("titles");
if(titles == null)
titles = new Array();
if(titles.indexOf(title) < 0)
titles.push(title);
localStorage.setItem("titles", titles);
'if (titles.indexOf (Titel) <0)' immer wahr sein wird, für ein 'new Array()' –
nie Klammern auslassen, vor allem mit schlechten Einzug. Es macht Ihren Code unlesbar – poe123
'Titel' muss ein Array für' title.push' sein, um eine Funktion zu sein. Ich glaube nicht, dass das von 'localStorage.getItem' zurückgegeben wird, was normalerweise eine Zeichenfolge ist. - ** Sie müssen 'JSON.stringify' verwenden, wenn Sie JS-Objekte (z. B. HTML) in localStorage speichern möchten. ** – evolutionxbox