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>

したがって、ユーザーが「SIGN UP NOW!」をクリックしたときに、これら 4 つの入力値を保存する必要があります。ボタンをクリックし、ユーザーを Page 2 フォームにリダイレクトする場合、値「first_name」、「last_name」、「email」、および「checkbox」はすでに Page2 フォームに入力されている必要があります。

SessionStorageにデータを保存するために、page1でこのコードを試しました:

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

しかし、それは私にとってはうまくいきません。コードの何が問題になっていますか?

4

1 に答える 1

1

これは存在しません:

 document.getElementById('email').val

バニラ JS 構文は次のようになります。

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