2016-10-30 4 views
0

Добрый день всем!sessionStorage javascript, загрузить getItem?

У меня есть следующие три функции для хранения сеансов, и мне нужна помощь с загрузочной частью. Функция save работает очень хорошо, но я не могу вернуть информацию в форму при загрузке функции loadform(). Что я делаю не так?

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

Работает ли 'loadform' самостоятельно, если вы вызываете вручную? Когда вы ожидаете, что событие _load_ будет запущено? –

+0

Я хочу, чтобы событие загрузки запускалось при загрузке страницы. Я пытался заставить его работать сам по себе, но это не так, и я не могу понять, что я делаю неправильно. Я сделал это раньше, но с и onclick, а теперь попытаюсь сделать это с помощью addEventListener и подумал, что это проблема, но, возможно, есть что-то еще ....:/ – Isla

+0

'loadform' выглядит нормально. Когда вызывается 'book'? Кажется, что проблема, вероятно, связана с этим/событием загрузки - к моменту, когда вы можете «document.getElementById ('ticketform») 'событие загрузки для'

ответ

0

В строке 9, в storedPnr вы опечатка sessionStorage, Вы писали sessionStoage.

+0

Спасибо! Все работает отлично! :) – Isla

0

Возможно, вы не получите событие load на элементе формы. Я думаю, что вы хотите, чтобы заменить эту строку с:

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

Таким образом, когда DOM страницы, в завершит загрузку будет вызывать метод loadform и тянуть в значении из памяти сеанса.