elementor pro フォーム確認画面

フォームの確認画面をコピペコードで作る方法【elementor pro】

2026-02-10
2026-02-10
Picture of 前田 あゆみ
前田 あゆみ
目次

普段あなたが何かのサイトでフォームを入力したら、入力内容を確認する画面が出ることがよくありますよね?

elementor proのフォームウィジットで作成する際、この確認画面を実装するには一工夫必要です!

少しコードを入れますが、コピペ+書き換えでできるので、作ってみましょう〜!

フォームを作成

詳細は省きますが、このような感じでelementor proのフォームウィジットを使い、CSSを追加してスタイルを整えて、簡単にフォームを作ってみました。

elementor proで作ったフォーム

必須・ラジオボタンなどのスタイルを整えるCSSはこちらの記事で解説しています!

プライバシーポリシーの同意欄についてのCSSはこちらの記事で解説しています!

Stepを追加

項目を追加して、タイプを「Step」に設定します。

そうすると、上部に別のStepが自動で追加されています!

下記画像のように、上部のStepのラベルは「入力」、下部のStepのラベルは「確認」としておきます。

elementor proのフォーム step1
elementor proのフォーム step2
elementor proのフォーム step3
elementor proのフォーム step4

そうするとフォームウィジット内の項目が
入力 → お名前等 … → 確認
の順で表示されているかと思います。

elementor proのフォームウィジットでステップを設定する様子

下部のボタンが英語なので、次はここを直しましょう!

フォームウィジットのコンテンツ > Buttons > Step Buttons で文言を変更します。

elementor proのフォームウィジットでstepのボタン文言を変更

これで、フォーム項目を入力して「確認画面へ進む」を押したら次の画面に進む準備が整いました!

コードで確認画面を整える

ここからゴリゴリにコードを使って確認画面を作り込んでいきます!

コピペ+書き換えでできますので、やってみましょう!

HTMLを追加

フォームに新しい項目を追加し、タイプをHTMLにします。

elementor proのフォームにHTMLコードを追加する

そしてHTMLの欄に、以下のコードの中身をフォームの項目に合わせて書き換えてペーストします。
※ちなみにHTMLの書き換えの時は、サイドバーの幅を広げて、HTML欄の高さを広げると編集しやすいですよ!

HTML
<div class="text"><p>ご入力内容にお間違いがないか、ご確認ください。</p></div>
<div class="confirm-table">
  <dl>
    <div class="row">
      <dt>お名前</dt>
      <dd data-field="name"></dd>
    </div>
    <div class="row">
      <dt>メールアドレス</dt>
      <dd data-field="email"></dd>
    </div>
    <div class="row">
      <dt>お問い合わせ項目</dt>
      <dd data-field="genre"></dd>
    </div>
    <div class="row">
      <dt>お問い合わせ内容</dt>
      <dd data-field="message"></dd>
    </div>
  </dl>
</div>
書き換えのポイント

<div class=“row”></div>を、上から順番に1つづつ、フォームの項目分作る

  • <dt></dt>の中には項目のラベルを入れる(例:お名前、メールアドレス など…)
  • <dd data-field=“”></dd>この“”の中には項目のIDを入れる(例:name , email など…)

項目のIDは、フォームの項目の「詳細」タブから確認・編集できます。
あらかじめわかりやすいものにしておきましょう。

フォームのID

CSSとJavaScriptコードを追加

elementor proならカスタムコードに、elementor 無料版ならプラグインコードスニペットなどをインストールして、下記コードをコピペしてください。

CSS
<style>
.elementor-form .confirm-table dl{
  display:grid;
  grid-template-columns:12em 1fr;
  gap:12px 16px;
}
.elementor-form .confirm-table dt{
  font-weight:600; /* フォームの項目を太字に */
}
.elementor-form .confirm-table dd{
  margin:0;
  white-space:pre-wrap;
  word-break:break-word;
}
.elementor-form .confirm-table .row{
  display:contents;
}
.text{ /* ご入力内容に…のテキストのスタイル */
  font-size:1.2rem;
  font-weight:600;
  color:#D7501A;
  margin-bottom:40px;
  text-align:center;
}
.elementor-form .confirm-table{
  margin-bottom:20px;
}

@media (max-width:767px){
.elementor-form .confirm-table dl{
  grid-template-columns:150px 1fr;
  gap:12px 16px;
}
}
</style>
JavaScript
<script>
document.addEventListener('DOMContentLoaded', function () {
    const form = document.querySelector('form.elementor-form');
    if (!form) return;

    const escapeHtml = (str) => {
        if (!str) return '';
        return String(str).replace(/[&<>"']/g, function(match) {
            return {
                '&': '\u0026amp;',
                '<': '\u0026lt;',
                '>': '\u0026gt;',
                '"': '\u0026quot;',
                "'": '\u0026#39;'
            }[match];
        });
    };

    const updateConfirmation = () => {
        const displayFields = form.querySelectorAll('[data-field]');
        
        displayFields.forEach(display => {
            const fieldName = display.getAttribute('data-field');
            const inputs = form.querySelectorAll(`[name="form_fields[${fieldName}]"], [name="form_fields[${fieldName}][]"]`);
            
            if (inputs.length === 0) return;

            let value = '';
            const type = inputs[0].type;

            if (type === 'radio') {
                const checked = Array.from(inputs).find(input => input.checked);
                if (checked) value = checked.value;
                
            } else if (type === 'checkbox') {
                const checkedValues = Array.from(inputs)
                    .filter(input => input.checked)
                    .map(input => input.value);
                value = checkedValues.join('');
                
            } else {
                value = inputs[0].value;
            }

            display.innerHTML = escapeHtml(value).replace(/\n/g, '<br>');
        });
    };

    form.addEventListener('change', updateConfirmation);
    form.addEventListener('input', updateConfirmation);

    const nextButtons = form.querySelectorAll('.e-form__buttons__wrapper__button-next');
    nextButtons.forEach(btn => {
        btn.addEventListener('click', () => {
            setTimeout(updateConfirmation, 100);
        });
    });

    updateConfirmation();
});
</script>

そうすると、こんな感じで入力した内容が確認画面に出るようになります!

elementor のフォームを入力した画面
入力画面
elementor のフォームで入力した内容を確認画面に表示したところ
確認画面

確認画面の「ご入力内容に…」のテキストは、上記CSSでお好みのスタイルにしてみてくださいね!

その下の確認内容の色やフォントは、フォームウィジットの スタイル > HTML Field の設定が継承されています!
(フォームの中に他にもHTMLで入れた項目があると、この設定でその項目のスタイルも変わってしまいますので、設定時には注意してくださいね〜)

Steps settings を調整

では最後に、フォームの上部についている「入力ー確認」のところを整えましょう!

elementor proのフォームの入力画面で上部に出ているstepのテキスト

これは フォームウィジット > コンテンツ > Steps Settings のタイプから設定できます。

elementor proのフォームでsteps settingを選択する様子

タイプ一覧

ここで選択できるタイプは以下の7種類です。

なし

テキスト

アイコン

番号

Progress Bar

Number & Text

Icon & Text

個人的には「なし」か「Number & Text」がデザイン的に使いやすいかな〜と思います。

Stepsのスタイルを調整

今回はタイプ:Number & Text でやってみましょう。

Steps Settings

形状では、数字の枠の形を
・円
・四角
・丸み(角丸四角)
・none (枠なし)
から選択できます。

elementor のフォームウィジットでsteps settings を設定

スタイル > steps

ここでstepsの見た目を整えていきましょう。

  • タイポグラフィ:数字と文字のフォント
  • スペース:stepsからフォームの距離(ここでは「入力」〜「お名前」の余白)
  • パディング:数字の内側の余白(大きくすると数字の枠が大きくなる)
  • Inactive:未実施のstep の色(ここでは 2 )
  • Active :実施中のstep の色(ここでは 1)
  • Completed :実施済みのstep の色 (ここでは確認画面に切り替わった後の 1)
  • メインカラー:数字・数字の枠・文字 の色
  • サブカラー:数字の枠内の背景色
  • Divider width:1 – 2 の横線の太さ
  • Divider Gap:数字から横線の距離

例えば数字と文字は違う色にしたい、というときには別途CSSで書き換える必要がありますので、ご注意ください!

まとめ

さあ、こんな感じでできました。
バッチリ入力内容を確認画面に表示できてますね!

入力画面
確認画面

コードは結構ありましたが、コピペと書き換えだけでできるので、思ったよりイージーだったのではないでしょうか?

確認画面をつけるだけでもユーザーの使いやすさはグッと上がりますので、ぜひお試しください!

本日もお疲れ様でした!

気軽にコメントしてくださいね。

このサイトは reCAPTCHA によって保護されており、Google のプライバシーポリシー および 利用規約 に適用されます。

reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

この記事をみんなにシェアしよう!!
Share!