【问题标题】:Save form input values on Page1 and restore them when go to Page2 using jQuery将表单输入值保存在 Page1 并在使用 jQuery 转到 Page2 时恢复它们
【发布时间】:2016-03-16 20:44:45
【问题描述】:

我在 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 页表单时,值 '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);
  });
});

并将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);
});

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

【问题讨论】:

  • However it's not working for me. - 你能更具体一点吗?旁注 - 在这种情况下,最好创建一个包含所有属性的单个对象,并在会话存储中添加一个条目,这样可以更轻松地使用它,并且代码更简洁。

标签: javascript jquery forms session-storage sessionstorage


【解决方案1】:

这不存在:

 document.getElementById('email').val

Vanilla JS 语法应该是:

  document.getElementById('email').value;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 2016-03-21
    • 2012-07-28
    • 1970-01-01
    • 2017-12-01
    相关资源
    最近更新 更多