1

我在 Page1 上有这个简单的 reg 表单,它重定向具有高级 reg 表单的 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 个输入值。按钮,当它将用户重定向到第 2 页表单时,必须已经在第 2 页表单中填写了值“first_name”、“last_name”、“email”和“checkbox”。

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

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

4

1 回答 1

1

这不存在:

 document.getElementById('email').val

Vanilla JS 语法应该是:

  document.getElementById('email').value;
于 2016-03-16T12:44:45.350 回答