オーバーヘッドなしで実現するマルチステップフォーム

ほとんどのフォームはPOSTメソッドを使用しますが、GETメソッドを使用する人はほとんどいません。GETはURLの末尾にデータを追加します。

ページ間でデータを渡すにはGETを使用しましょう。データを保存するためのバックエンドは必要ありません。フィールドの表示・非表示を切り替えるためのJavaScriptも不要です。ブラウザの標準機能を利用しましょう。

ページ間でデータを渡すには、このスクリプトを使用します。URLから隠しフィールドを作成します。

window.onload = function() {
  var querystring = window.location.href.split('?')[1];
  var parameters = querystring.split('&');

  for(i = 0; i < parameters.length; i++) {
    var pair = parameters[i].split('=');
    var hiddenfield = document.createElement("input");
    hiddenfield.type = "hidden";
    hiddenfield.name = pair[0];
    hiddenfield.value = pair[1];
    document.forms[0].appendChild(hiddenfield);
  }
};

最後にPOSTリクエストを使用して、最終的なデータをサーバーに送信します。データはブラウザ内に保持されます。

以下の点に注意してください:

出典: https://dev.to/ovidem/multi-step-form-without-the-overhead-5bjc