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

モーダルウインドウ

削除確認モーダルウインドウを作る方法

削除確認モーダルウインドウを作る方法を紹介します。削除ボタンを押した際に確認画面を表示し、ユーザーが内容を確認してから削除を実行できるサンプルです。誤操作によるデータ削除を防ぎたい場合に役立ちます。

サンプルはHTML・CSS・JavaScriptのみで動作し、「削除」「キャンセル」の2つのボタンを備えたシンプルな確認モーダルを実装しています。背景クリックや閉じるボタンでモーダルを閉じられるため、一般的なWebサイトや管理画面でもそのまま利用しやすい構成です。

実際に削除処理を行う場合は、JavaScriptやPHPと組み合わせて利用できます。削除ボタンからPHPへ送信したり、Ajaxで削除APIを呼び出したりすることも可能です。本記事では画面表示と確認UIのみを実装しているため、削除処理は用途に合わせて追加してください。

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

デモ

削除確認モーダル

「削除する」をクリックすると確認モーダルを表示します。

「削除する」をクリックすると確認モーダルが表示されます。「キャンセル」「×」ボタン、または背景をクリックすると閉じます。

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

<!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のみで動作し、
  削除前に確認モーダルウインドウを表示します。

  PHPと組み合わせる場合

  ・削除対象を識別できるIDをPHPへ送信してください。
  ・削除処理はPHP側で実装してください。
  ・削除前に権限確認や対象データの存在確認を行ってください。

  例

  delete.php?id=123

  このサンプルには実際の削除処理は含まれていません。
  ==================================================
  -->

  <!-- 削除確認モーダルを開く操作エリア -->
  <div class="delete-confirm-modal_wrap">

    <!-- 操作エリアのタイトル -->
    <div class="delete-confirm-modal_title">
      削除確認モーダル
    </div>

    <!-- 操作エリアの説明文 -->
    <p class="delete-confirm-modal_text">
      「削除する」をクリックすると確認モーダルを表示します。
    </p>

    <!-- 削除確認モーダルを開くボタン -->
    <button
      class="delete-confirm-modal_open"
      type="button"
      data-delete-confirm-modal-open>
      削除する
    </button>

  </div>

  <!-- モーダル背景 -->
  <div
    class="delete-confirm-modal_overlay"
    data-delete-confirm-modal-overlay>

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

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

      <!-- モーダルタイトル -->
      <div
        class="delete-confirm-modal_heading"
        id="delete-confirm-modal-title">
        削除確認
      </div>

      <!-- 削除前の確認メッセージ -->
      <p class="delete-confirm-modal_message">
        このデータを削除します。<br>
        この操作は元に戻せません。
      </p>

      <!-- 操作ボタンエリア -->
      <div class="delete-confirm-modal_buttons">

        <!-- 削除をキャンセルするボタン -->
        <button
          class="delete-confirm-modal_cancel"
          type="button"
          data-delete-confirm-modal-cancel>
          キャンセル
        </button>

        <!-- 削除を実行するボタン -->
        <button
          class="delete-confirm-modal_delete"
          type="button"
          data-delete-confirm-modal-delete>
          削除
        </button>

      </div>

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

    </div>

  </div>

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

</body>
</html>

ファイル構成と設置方法

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

PHPと組み合わせる場合は、削除対象のIDなどをPHPへ送信して実際の削除処理を実装できます。このサンプルにはデータ削除処理は含まれておらず、削除確認画面の表示のみを実装しています。削除処理、権限確認、データベース更新などはPHP側で実装してください。

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

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

各ファイルの役割
index.html
削除確認モーダルウインドウ、説明文、削除ボタン、キャンセルボタンなどのHTML構造を管理します。PHPと組み合わせる場合は削除対象IDを保持するhidden要素や送信先を追加できます。

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

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

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

PHPと組み合わせる場合は、削除ボタン押下後に削除対象IDをPHPへ送信し、削除処理を実装してください。データベース更新やCSV削除などの処理はPHP側で行います。

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

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

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



コメント