我在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个输入值。按钮,并将用户重定向到Page 2表单时,必须已在Page2表单中填写值“ first_name”,“ last_name”,“ email”和“ checkbox”。

我已经在第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);
  });
});


并将此代码还原到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);
});


但是,它对我不起作用。我的代码有什么问题?

最佳答案

这不存在:

 document.getElementById('email').val


Vanilla JS语法应为:

  document.getElementById('email').value;

10-07 17:43