在Page1上保存表单输入值,并在使用jQuery

时间:2016-03-16 12:21:02

标签: javascript jquery forms session-storage sessionstorage

我在Page1上有这个简单的注册表单,它将用户重定向到具有高级注册表单的Page2:

<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个输入值。按钮,当它将用户重定向到表单时,值'first_name','last_name','email'和'checkbox'必须已填入Page2表单。

我已尝试在第1页上使用此代码在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);
  });
});

这个代码在第2页上恢复:

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 个答案:

答案 0 :(得分:1)

这不存在:

 document.getElementById('email').val

Vanilla JS语法应该是:

  document.getElementById('email').value;