2016-10-30 12 views
0

Guten Tag alle!sessionStorage JavaScript, laden getItem?

Ich habe die folgenden drei Funktionen für Sitzungsspeicher, und ich brauche etwas Hilfe mit dem Lade-Teil. Die SaveFunction funktioniert gut, aber ich kann die Informationen nicht in das Formular zurückholen, wenn ich die Funktion loadform() lade. Was mache ich falsch?

function book() { 
    document.getElementById('ticketform').addEventListener('input', saveform, false); 
    document.getElementById('ticketform').addEventListener('load', loadform, false); 
} 

function loadform() { 
    var storedFnamn = sessionStorage.getItem('text1'); 
    var storedEnamn = sessionStorage.getItem('text2'); 
    var storedPnr = sessionStoage.getItem('text3'); 

    if (storedFnamn) { 
     document.getElementById('firstname').value = storedFnamn; 
    } 
    if (storedEnamn) { 
     document.getElementById('lastname').value = storedEnamn; 
    } 
    if (storedPnr) { 
     document.getElementById('idnr').value = storedPnr; 
    } 
} 

function saveform() { 
    var fnamn = document.getElementById('firstname').value; 
    var enamn = document.getElementById('lastname').value; 
    var pnr = document.getElementById('idnr').value; 

    window.sessionStorage.setItem('text1', fnamn); 
    window.sessionStorage.setItem('text2', enamn); 
    window.sessionStorage.setItem('text3', pnr); 
} 
+0

Funktioniert 'loadform' selbst, wenn Sie manuell aufrufen? Wann erwarten Sie, dass das Ereignis _load_ ausgelöst wird? –

+0

Ich möchte, dass das Ladeereignis ausgelöst wird, wenn die Seite geladen wird. Ich habe versucht, es selbst zu funktionieren, aber es hat nicht funktioniert und ich kann nicht sehen, was ich falsch mache. Ich habe das schon mal gemacht, aber mit und Onclick und versuche nun, dies mit addEventListener zu tun und dachte, dass das war das Problem, aber vielleicht gibt es etwas anderes ....:/ – Isla

+0

'loadform' sieht okay. Wann wird 'book' aufgerufen? Es scheint, dass das Problem wahrscheinlich mit dem/dem Ladeereignis zu tun ist - von der Zeit konnte man 'document.getElementById (‚ticketform‘)' das Ladeereignis für '

' bereits gefeuert hat ; legen Sie die Lastaufnahmemittel direkt auf Fenster/Dokument laden –

Antwort

0

Zeile 9 in der storedPnr Sie sessionStorage falsch geschrieben, schrieb Sie sessionStoage.

+0

Danke! Alles funktioniert jetzt gut! :) – Isla

0

Sie werden wahrscheinlich kein Ereignis load auf dem Formularelement selbst erhalten. Ich denke, was Sie wollen, ist diese Linie mit ersetzen:

document.addEventListener('DOMContentLoaded', loadform, false); 

diese Weise, wenn die DOM Seite beendet hat Laden wird es die loadform Methode aufrufen und in den Werten von Sitzungsspeicher ziehen.

Verwandte Themen