保存確認モーダルウインドウを作る方法【HTML/CSS/JavaScript・サンプルコード付き】

モーダルウインドウ

保存確認モーダルウインドウを作る方法

保存確認モーダルウインドウをHTML・CSS・JavaScriptで作る方法を紹介します。「変更を保存」をクリックすると確認画面が表示され、「キャンセル」と「保存する」のどちらかを選択できるサンプルです。設定内容や入力データを保存する前に、ユーザーへ最終確認を求めたい場合に利用できます。

このサンプルでは、保存確認モーダルの表示と非表示、キャンセルボタン、閉じるボタン、背景クリックによる閉じる処理、保存ボタンを押した後の完了メッセージ表示を実装しています。管理画面、会員情報編集画面、記事編集画面、設定変更画面など、誤操作を防ぎたい場面で活用できます。

現在のコードには実際の保存処理は含まれておらず、フロントエンド側の確認画面と動作だけを実装しています。PHPと組み合わせる場合は、保存ボタンから入力内容を送信し、データベースやCSVへの保存処理をPHP側で実装できます。確認メッセージやボタン名、色、余白、モーダルサイズは用途に合わせて変更できます。

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

デモ

保存確認モーダル

「変更を保存」をクリックすると保存確認モーダルを表示します。

「変更を保存」をクリックすると確認モーダルが表示されます。「保存する」をクリックするとデモ用メッセージが表示されます。

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

<!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>

  <!--
  ==================================================
  このサンプルについて
  ==================================================

  このサンプルはHTML・CSS・JavaScriptのみで動作し、
  保存前に確認モーダルウインドウを表示します。

  「保存する」をクリックした場合は、
  実際の保存処理を行わず、
  デモ用のメッセージを表示します。

  実際にデータを保存する場合は、
  JavaScriptやPHPと組み合わせて処理を追加してください。
  ==================================================
  -->

  <!-- 保存確認モーダルを開く操作エリア -->
  <div class="save-confirm-modal-window_wrap">

    <!-- 操作エリアのタイトル -->
    <div class="save-confirm-modal-window_title">
      保存確認モーダル
    </div>

    <!-- 操作エリアの説明文 -->
    <p class="save-confirm-modal-window_text">
      「変更を保存」をクリックすると保存確認モーダルを表示します。
    </p>

    <!-- 保存確認モーダルを開くボタン -->
    <button
      class="save-confirm-modal-window_open"
      type="button"
      data-save-confirm-modal-window-open>
      変更を保存
    </button>

  </div>

  <!-- モーダル背景 -->
  <div
    class="save-confirm-modal-window_overlay"
    data-save-confirm-modal-window-overlay>

    <!-- モーダル本体 -->
    <div
      class="save-confirm-modal-window_modal"
      role="dialog"
      aria-modal="true"
      aria-labelledby="save-confirm-modal-window-title">

      <!-- モーダルを閉じるボタン -->
      <button
        class="save-confirm-modal-window_close"
        type="button"
        data-save-confirm-modal-window-close
        aria-label="閉じる">
        ×
      </button>

      <!-- モーダルタイトル -->
      <div
        class="save-confirm-modal-window_heading"
        id="save-confirm-modal-window-title">
        保存確認
      </div>

      <!-- 保存前の確認メッセージ -->
      <p class="save-confirm-modal-window_message">
        変更した内容を保存します。<br>
        よろしいですか?
      </p>

      <!-- 操作ボタンエリア -->
      <div class="save-confirm-modal-window_buttons">

        <!-- 保存をキャンセルするボタン -->
        <button
          class="save-confirm-modal-window_cancel"
          type="button"
          data-save-confirm-modal-window-cancel>
          キャンセル
        </button>

        <!-- 保存を実行するボタン -->
        <button
          class="save-confirm-modal-window_save"
          type="button"
          data-save-confirm-modal-window-save>
          保存する
        </button>

      </div>

      <!-- デモ用の保存結果メッセージ -->
      <p
        class="save-confirm-modal-window_notice"
        data-save-confirm-modal-window-notice
        role="status">
        デモのため、実際のデータは保存されません。
      </p>

    </div>

  </div>

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

</body>
</html>

ファイル構成と設置方法

このサンプルはHTML・CSS・JavaScriptの3ファイルで構成されています。HTMLには保存確認モーダルウインドウの構造、CSSにはモーダルやボタンのデザイン、JavaScriptにはモーダルの開閉処理や保存確認のデモ動作を記述しています。ライブラリを使用せず、HTML・CSS・JavaScriptだけで動作するため、そのままコピーして利用できます。

実際にデータを保存する場合は、JavaScriptやPHPと組み合わせて保存処理を実装できます。このサンプルにはデータ保存処理は含まれておらず、保存前の確認画面のみを実装しています。データベース更新やCSV保存などは用途に合わせて追加してください。

HTML・CSS・JavaScriptの構成はそのまま利用できるため、保存ボタンのクリック後にPHPへ送信する処理やAjax通信を追加するだけで実際の保存機能へ発展させることができます。

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

各ファイルの役割
index.html
保存確認モーダルウインドウ、説明文、保存ボタン、キャンセルボタンなどのHTML構造を管理します。PHPと組み合わせる場合はフォームや入力項目、送信先などを追加できます。

style.css
モーダルウインドウ、背景、ボタン、確認メッセージ、余白、角丸、影などのデザインを管理します。PHPと組み合わせた場合でもそのまま利用できます。

script.js
モーダルを開く処理、閉じる処理、キャンセル処理、保存ボタン押下時のデモ表示を管理します。実際の保存処理は含まれていません。

設置方法・使い方
sampleフォルダへindex.html・style.css・script.jsを配置します。sample/index.htmlをブラウザで開くと動作を確認できます。「変更を保存」をクリックすると保存確認モーダルウインドウが表示され、「キャンセル」「×」ボタンまたは背景をクリックすると閉じます。

実際に保存機能を実装する場合は、保存ボタン押下後にPHPやAjaxで保存処理を追加してください。データベースやCSVへの保存、入力値の検証などは用途に合わせて実装します。

カスタマイズできる内容
index.htmlではタイトル、説明文、確認メッセージ、ボタン名を変更できます。style.cssではモーダルサイズ、背景色、ボタン色、余白、角丸、影などを変更できます。script.jsではモーダルの開閉処理や保存ボタン押下後の処理を編集できます。

数値調整
style.cssのmax-width:440px;を変更するとモーダルの最大横幅が変わります。padding:48px 28px 28px;を変更するとモーダル内部の余白が変わります。gap:12px;を変更するとボタン同士の間隔が変わります。width:36px;とheight:36px;を変更すると閉じるボタンの大きさが変わります。

レスポンシブ対応
style.cssではwidth:100%、max-width、padding、@media(max-width:640px)を使用してレスポンシブ対応しています。スマートフォンではモーダルやボタン配置が自動調整され、タブレット・PCでも中央に見やすく表示されます。



コメント