入力内容確認ドロワーメニューの作り方【HTML/CSS/JavaScript・サンプルコード付き】

ドロワーメニュー

入力内容確認ドロワーメニューの作り方

入力内容確認ドロワーメニューをHTML・CSS・JavaScriptで作る方法を紹介します。フォームへ入力した内容を確認ボタンで取得し、画面左側から開くドロワーメニュー内へ一覧表示できるサンプルです。入力後すぐに内容を確認できるため、送信前の確認画面を分かりやすく表示できます。

サンプルでは、お名前・メールアドレス・お問い合わせ内容を入力し、「入力内容を確認する」ボタンをクリックするとドロワーメニューが表示されます。JavaScriptで各入力値を取得して確認欄へ反映するため、ページを移動せずに入力内容を確認できます。

お問い合わせ画面や会員登録画面、予約フォーム、申込フォームなど、送信前に利用者へ入力内容を確認してもらいたい場面で利用できます。HTMLでは入力項目や確認項目、CSSではドロワーメニューの幅や色、余白などを変更でき、用途に合わせてカスタマイズできます。

コードについて 本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。

デモ

入力内容確認ドロワーメニュー

フォームへ入力した内容を送信前にドロワーメニューで確認できます。

入力例
name="山田 太郎"; email="sample@example.com"; message="資料について詳しく知りたいです。";
入力フォーム
入力内容確認
お名前
メールアドレス
お問い合わせ内容
デモのため、入力内容は送信されません。

「フォームを表示」をクリックし、「確認画面へ」を押すと入力内容確認画面へ切り替わります。

コードをコピーして使おう!

<!DOCTYPE html>
<html lang="ja">
<head>

  <!-- 文字コード -->
  <meta charset="UTF-8">

  <!-- スマートフォン表示対応 -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- ページタイトル -->
  <title>入力内容確認ドロワーメニュー</title>

  <!-- CSSファイルを読み込み -->
  <link rel="stylesheet" href="style.css">

</head>
<body>

  <!-- ドロワーメニューを開く操作エリア -->
  <div class="confirm-input-drawer_wrap">

    <!-- 操作エリアのタイトル -->
    <div class="confirm-input-drawer_title">
      入力内容確認ドロワーメニュー
    </div>

    <!-- 操作エリアの説明文 -->
    <p class="confirm-input-drawer_text">
      フォームへ入力した内容を送信前にドロワーメニューで確認できます。
    </p>

    <!-- 入力例 -->
    <div class="confirm-input-drawer_example">

      <!-- 入力例の見出し -->
      <div class="confirm-input-drawer_example-label">
        入力例
      </div>

      <!-- お名前の入力例 -->
      <code>name="山田 太郎";</code>

      <!-- メールアドレスの入力例 -->
      <code>email="sample@example.com";</code>

      <!-- お問い合わせ内容の入力例 -->
      <code>message="資料について詳しく知りたいです。";</code>

    </div>

    <!-- ドロワーメニューを開くボタン -->
    <button
      class="confirm-input-drawer_open"
      type="button"
      data-confirm-input-drawer-open>
      フォームを表示
    </button>

  </div>

  <!-- ドロワーメニュー表示時の背景 -->
  <div
    class="confirm-input-drawer_overlay"
    data-confirm-input-drawer-overlay
    aria-hidden="true">

    <!-- ドロワーメニュー本体 -->
    <div
      class="confirm-input-drawer"
      role="dialog"
      aria-modal="true"
      aria-labelledby="confirm-input-drawer-heading">

      <!-- ドロワーメニュー上部 -->
      <div class="confirm-input-drawer_header">

        <!-- ドロワーメニューのタイトル -->
        <div
          class="confirm-input-drawer_heading"
          id="confirm-input-drawer-heading">
          入力フォーム
        </div>

        <!-- ドロワーメニューを閉じるボタン -->
        <button
          class="confirm-input-drawer_close"
          type="button"
          data-confirm-input-drawer-close
          aria-label="ドロワーメニューを閉じる">
          ×
        </button>

      </div>

      <!-- 入力フォームエリア -->
      <div
        class="confirm-input-drawer_form"
        data-confirm-input-drawer-form-area>

        <!-- お名前入力欄 -->
        <label class="confirm-input-drawer_label">
          お名前

          <input
            class="confirm-input-drawer_input"
            type="text"
            value="山田 太郎"
            data-confirm-input-drawer-name>

        </label>

        <!-- メールアドレス入力欄 -->
        <label class="confirm-input-drawer_label">
          メールアドレス

          <input
            class="confirm-input-drawer_input"
            type="email"
            value="sample@example.com"
            data-confirm-input-drawer-email>

        </label>

        <!-- お問い合わせ内容入力欄 -->
        <label class="confirm-input-drawer_label">
          お問い合わせ内容

          <textarea
            class="confirm-input-drawer_textarea"
            data-confirm-input-drawer-message>資料について詳しく知りたいです。</textarea>

        </label>

        <!-- 入力内容確認画面へ進むボタン -->
        <button
          class="confirm-input-drawer_submit"
          type="button"
          data-confirm-input-drawer-show>
          確認画面へ
        </button>

      </div>

      <!-- 入力内容確認エリア -->
      <div
        class="confirm-input-drawer_confirm"
        data-confirm-input-drawer-confirm-area>

        <!-- 確認画面のタイトル -->
        <div class="confirm-input-drawer_confirm-title">
          入力内容確認
        </div>

        <!-- お名前の確認項目 -->
        <div class="confirm-input-drawer_confirm-item">

          <span class="confirm-input-drawer_confirm-label">
            お名前
          </span>

          <span data-confirm-input-drawer-view-name></span>

        </div>

        <!-- メールアドレスの確認項目 -->
        <div class="confirm-input-drawer_confirm-item">

          <span class="confirm-input-drawer_confirm-label">
            メールアドレス
          </span>

          <span data-confirm-input-drawer-view-email></span>

        </div>

        <!-- お問い合わせ内容の確認項目 -->
        <div class="confirm-input-drawer_confirm-item">

          <span class="confirm-input-drawer_confirm-label">
            お問い合わせ内容
          </span>

          <span data-confirm-input-drawer-view-message></span>

        </div>

        <!-- 確認画面の操作ボタン -->
        <div class="confirm-input-drawer_buttons">

          <!-- 入力フォームへ戻るボタン -->
          <button
            class="confirm-input-drawer_back"
            type="button"
            data-confirm-input-drawer-back>
            戻る
          </button>

          <!-- 送信ボタン -->
          <button
            class="confirm-input-drawer_send"
            type="button"
            data-confirm-input-drawer-send>
            送信する
          </button>

        </div>

        <!-- デモ用の送信メッセージ -->
        <p
          class="confirm-input-drawer_notice"
          data-confirm-input-drawer-notice
          role="status">
          デモのため、入力内容は送信されません。
        </p>

      </div>

    </div>

  </div>

  <!-- JavaScriptファイルを読み込み -->
  <script src="script.js"></script>

</body>
</html>

ファイル構成と設置方法

このサンプルはHTML・CSS・JavaScriptの3ファイルで構成されており、ボタンをクリックすると画面左側から入力内容確認付きドロワーメニューを表示できます。HTMLで入力フォームと確認画面を構成し、CSSでドロワーメニューやフォーム全体のデザインを設定、JavaScriptで画面切り替えや入力内容の確認表示を制御しています。

フォームにはお名前・メールアドレス・お問い合わせ内容の入力欄を用意しており、「確認画面へ」を押すと入力内容を確認画面へ表示できます。「戻る」を押すと入力画面へ戻り、「送信する」を押すとデモ用メッセージを表示します。実際の送信処理は含まれていません。

HTML・CSS・JavaScriptを分離しているため、フォーム項目や確認画面の表示内容、ドロワーメニューのデザインや動作を用途に合わせて編集しやすい構成です。お問い合わせフォームや各種入力フォームの確認画面作成にも利用できます。

sample/
├── index.html
├── style.css
└── script.js

各ファイルの役割
index.html
ドロワーメニュー、入力フォーム、入力内容確認画面、各ボタンを配置しています。タイトル、説明文、入力項目、ボタンの文字などを変更できます。

style.css
ドロワーメニュー全体やフォーム、確認画面のレイアウトとデザインを設定しています。背景色、文字色、入力欄、ボタン、余白、角丸、影、ドロワーメニューの横幅などを変更できます。

script.js
ドロワーメニューの表示・非表示、入力内容の確認画面への反映、入力画面と確認画面の切り替え、デモ用メッセージの表示を制御しています。

設置方法・使い方
sampleフォルダを任意の場所へ配置し、sample/index.htmlをブラウザで開いてください。「フォームを表示」をクリックするとドロワーメニューが表示されます。フォームへ入力後、「確認画面へ」を押すと入力内容を確認できます。「送信する」を押しても、サンプルのため実際の送信処理は実行されません。

カスタマイズできる内容
index.htmlではタイトル、説明文、入力項目、ラベル、プレースホルダー、ボタンの文字を変更できます。style.cssでは背景色、文字色、入力欄、ボタン、余白、角丸、影、ドロワーメニューの横幅などを自由に調整できます。script.jsではドロワーメニューの開閉や確認画面への切り替え処理、送信時の処理を変更できます。

数値調整
style.csswidth:420pxはドロワーメニューの横幅です。paddingを変更すると余白、border-radiusを変更すると角丸の大きさが変わります。transition:0.2s;はボタンのアニメーション時間を表しており、値を大きくするとゆっくり、小さくすると速く変化します。animation:0.35s;を変更するとドロワーメニューが表示される速度を調整できます。

レスポンシブ対応
style.cssではwidth:100%max-width@mediaを利用してレスポンシブ対応しています。画面サイズに応じてドロワーメニューや余白、フォームレイアウトを自動調整するため、スマートフォン・タブレット・PCで利用できます。



コメント