Kann ich mit html oder JavaScript Werte von einem Textfeld speichern lassen und sie dann wieder laden?
5 Antworten
Clientseitig simpel:
<textarea id="Text1" cols="40" rows="5"></textarea>
<button onclick="storeIt()">Store</button>
<button onclick="localStorage.clear()">Delete Storage</button>
<script>
//wenn in der letzen Sitzung etwas gespeichert wurde, schreib es in die Textbox
if (typeof(Storage) !== "undefined") {
if (localStorage.MyText1){
document.getElementById("Text1").value = localStorage.MyText1;
}
}
function storeIt() {
localStorage.MyText1 = document.getElementById("Text1").value; //speichere Inhalt der Textbox
}
</script>
Schreib etwas ins Textfeld, drücke den Store-Button schließe sie Seite. Öffne die Seite erneut....
Der andere Button löscht den Speicher der Seite.
Richtig. Der Browser ist ein in sich abgeschlossenes "Habitat". Webseiten/ Html-Dateien haben aus Sicherheitsgründen keinen direkten Zugriff auf das Dateisystem des Hosts. Beim IE6 konnte man mit ActiveXObject("Scripting.FileSystemObject") noch direkt mit Datein arbeiten (wenn es die Einstellung zuließ). Das gehört zum Glück der Vergangenheit an. Es wäre Fatal, könnte eine Webseite auf deinen Rechner zugreifen und tun und lassen , was ihr beliebt.
Eine Webseite darf keinen Zugriff auf das Dateisystem haben!
Wenn Du etwas im Dateisystem speichern möchtest, ginge es nur über einen Webserver und Download.
Deine Frage bezog sich auf das Speichern und Laden der Daten eines Textfeldes. ...und dies tut das Script.
Statt des Store-Buttons kann man natürlich auch für das Schließen des Fensters/Tabs oder Verlassen der Seite eine Aktion veranlassen.
<body onunload="myFunction()">
Mit JavaScript ja, mit HTML nicht, weil HTML keine Programmiersprache ist.
mit javascript ja, mit html nicht.
und: Ich empfehle php.
Warum PHP? Die Daten in einem Text-/Eingabefeld gehen dem Server erst nach einem Submit etwas an.
Bis dahin gehören sie dem Client. Das beste Beispiel für dergleichen sind Deine angefangenen und nie verschickten Kommentare im GF.
Drücke mal F12 (DevTools) > App > Local Storage
Da findest Du viele Deiner vergangenen linguistischen Ergüsse...
ein gutes Beispiel!
Erst mal danke für den Hinweis mit F12, war mir nicht geläufig und wird mir sicher in vielen Fällen noch hilfreich sein.
Doch was ich dort lese ist (quod erat demonstrandum!)
"
Laden fehlgeschlagen für das <script> mit der Quelle "https://consent.gutefrage.net/wrapperMessagingWithoutDetection.js".
"
Eben Javascript. Mit PHP wäre das nicht passiert...
Darauf wollte ich ja hinaus! "das kann passieren". Es passiert eben drastisch seltener mit Ressourcen, die ich selbst kontrolliere (php läuft am Server und fragt meine selbst verwalteten Ressoucen an) oder Ressourcen, die im Browser laufen (der Nutzer erlaub uU Anfragen nicht mal).
Es geht nicht um die Frage, "was" da fehlgeschlagen ist. Das interessiert doch keinen Nutzer! Sondern der Nutzer sagt "Drecksseite" und geht.
Daher setzen Profis eher auf php statt auf js.
php ist soviel stabiler und komfortabler als javaScript. Außerdem läuft es auf dem Server und nicht im Browser. d.h. es kann Dir nie passieren, dass der User es deaktiviert hat und die Seite nicht mehr funktioniert.
ist natürlich Geschmackssache. Ich finde es eine Strafe zu debuggen.
Und instabil ist, dass es im Browser des Nutzers laufen muss (und der das zuweilen unterbindet), statt auf dem eigenen Server.
Auf meiner Seite habe ich beides laufen, - kein Vergleich.
Welchen Vorteil würde PHP hier bieten? Javascript kann man ohne Server einfach im Browser ausführen.
Ja, mit Javascript ist das möglich. Codebeispiele findest zu unzählige im Netz.
Hab ich das richtig verstanden das die Seite kein Dokument anlegt?