2016-03-16 6 views
1

У меня есть эта простая регистрационная форма Page1, которая перенаправляет пользователя на Page2, которые продвинутая форма рег:Сохранение формы входных значений на Page1 и восстановить их, когда идут в Page2 с помощью JQuery

<form action="" method="post" class="signup-field" novalidate="novalidate"> 
    <input type="text" name="first_name" value="" size="40" class="" id="first_name" placeholder="First Name"> 
    <input type="text" name="last_name" value="" size="40" class="" id="last_name" placeholder="Last Name"> 
    <input type="email" name="email" value="" size="40" class="" id="email" placeholder="E-Mail"> 
    <input type="checkbox" name="acceptance" value="1" class="" > 
    <input class="sign-up-button" type="submit" onclick="parent.location='page2.html'" value="SIGN UP NOW!"> 
</form> 

Так мне нужно сохранить эти 4 входа значения, когда пользователь нажимает «ЗАРЕГИСТРИРОВАТЬСЯ СЕЙЧАС!» и когда он перенаправляет пользователя на страницу 2, значения «first_name», «last_name», «email» и «checkbox» должны быть уже заполнены в форме Page2.

Я попробовал этот код на page1 для сохранения данных в SessionStorage:

jQuery(document).ready(function() { 
    jQuery('.signup-field .sign-up-button').click(function() { 
    sessionStorage.setItem("first_name", document.getElementById('first_name').val); 
    sessionStorage.setItem("last_name", document.getElementById('last_name').val); 
    sessionStorage.setItem("email", document.getElementById('email').val); 
    }); 
}); 

И этот код на page2 для восстановления:

jQuery(document).ready(function($) { 
    if (sessionStorage.getItem('first_name') == "first_name") { 
    return; 
    } 

    var first_name = sessionStorage.getItem('first_name'); 
    if (first_name !== null) 
    $('#ws-plugin--s2member-custom-reg-field-first-name').val(first_name); 

    var last_name = sessionStorage.getItem('last_name'); 
    if (last_name !== null) 
    $('#ws-plugin--s2member-custom-reg-field-last-name').val(last_name); 

    var email = sessionStorage.getItem('email'); 
    if (email !== null) 
    $('#user_email').val(email); 
}); 

Однако это не работает для меня. Что не так с моим кодом?

+1

'Однако это не работает для me.' - Можете ли вы быть более конкретным? Сторожевая заметка - лучше создать единый объект в этом случае, содержащий все свойства с одной записью в хранилище сеансов, что упрощает его использование, а ваш код немного чище. – Igor

ответ

1

Это не существует:

document.getElementById('email').val 

Vanilla JS синтаксис должен быть:

document.getElementById('email').value;