dedlfix: ABspeichern per localstorage

Beitrag lesen

Tach!

window.localStorage.setItem('medien', 'auswahl');

Das speichert die Zeichenfolge auswahl unter dem Schlüssel medien ab. Wenn du einen Variableninhalt speichern möchtest, musst du eine solche notieren und kein Stringliteral.

function lesen() { var key = localStorage.getItem('medien'); alert ("You typed: " + key); }

Die Browser haben heutzutage Entwicklerwerkzeuge an Bord. Das eine ist die Konsole, in die man mit console.log() schreiben kann. Das ist dann auch wesentlich besser untersuchbar als ein alert()-Fenster. Weiterhin kann man direkt in der Konsole auch ohne console.log() Variablen anschauen. Fang in der Konsole an mit tippen lo und du bekommst eine Autovervolltändigung. localStorage und Enter und du siehst den Inhalt.

<input type="checkbox" name="auswahl[]" value="http://www.tagesschau.de">Tagesschau<br>

Für Javascript ist ein Name mit []-Klammern dahinter nicht unverwendbar, aber auch recht sinnlos. Die []-Klammern sind nur für den PHP-Mechanismus gut, der dir ein Array anlegt.

Und einfach so den Namen der Checkboxen angeben speichert nicht deren Inhalt. Den musst du erstmal zu Fuß extrahieren. document.form_name_wenn_es_einen_hätte.auswahl gibt ein Array mit den Checkboxen. Über die Eigenschaft checked kannst du deren Markierung auswerten.

Weiterhin möchtest du sicher ein Array anlegen, in dem die gewählten Elemente abgelegt werden. Ein solches im localStorage zu speichern geht nicht so einfach, das muss erst serialisiert werden, beispielsweise mit JSON.stringify() - lesen dann mit JSON.parse().

Übrigens, die Prüfung auf Vorhandensein des localStorage kann man sich eigentlich sparen, der ist in aktuellen Browsern immer vorhanden. Wenn ihn jemand deaktiviert haben sollte, dann ist das eben so und der Komfort der Vorauswahl fällt weg.

dedlfix.