エラーメッセージをモーダルウインドウで表示する方法【HTML/CSS/JavaScript・サンプルコード付き】

モーダルウインドウ

エラーメッセージをモーダルウインドウで表示する方法

エラーメッセージをモーダルウインドウで表示する方法を紹介します。処理に失敗した場合や入力内容に問題がある場合に、画面中央へエラー内容を表示できるサンプルです。通常の文章として表示するよりもユーザーの目に入りやすく、問題が発生したことを明確に伝えられます。

このサンプルはHTML・CSS・JavaScriptのみで動作し、「処理を実行する」ボタンをクリックするとエラーメッセージモーダルが表示されます。モーダル内にはエラーを示すアイコン、見出し、メッセージ、閉じるボタンを配置しています。「閉じる」ボタン、右上の「×」ボタン、または背景部分をクリックするとモーダルを閉じられます。

お問い合わせ画面の送信失敗、会員サイトのログインエラー、管理画面の更新失敗、ECサイトの決済エラーなど、処理を続けられない理由を案内したい場面に利用できます。見出しや説明文、ボタン名、背景色、アイコンの色などはコード内で変更できるため、表示するエラー内容に合わせてカスタマイズできます。

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

デモ

エラーメッセージモーダル

「処理を実行する」をクリックするとエラーメッセージを表示します。

「処理を実行する」をクリックするとエラーモーダルが表示されます。「閉じる」「×」ボタン、または背景をクリックすると閉じます。

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

<!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="show-error-message-modal_wrap">

    <!-- 操作エリアのタイトル -->
    <div class="show-error-message-modal_title">
      エラーメッセージモーダル
    </div>

    <!-- 操作エリアの説明文 -->
    <p class="show-error-message-modal_text">
      「処理を実行する」をクリックするとエラーメッセージを表示します。
    </p>

    <!-- エラーメッセージモーダルを開くボタン -->
    <button
      class="show-error-message-modal_open"
      type="button"
      data-show-error-message-modal-open>
      処理を実行する
    </button>

  </div>

  <!-- モーダル背景 -->
  <div
    class="show-error-message-modal_overlay"
    data-show-error-message-modal-overlay>

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

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

      <!-- エラーを示すアイコン -->
      <div
        class="show-error-message-modal_icon"
        aria-hidden="true">
        !
      </div>

      <!-- エラーメッセージのタイトル -->
      <div
        class="show-error-message-modal_heading"
        id="show-error-message-modal-title">
        エラーが発生しました
      </div>

      <!-- エラー内容を伝えるメッセージ -->
      <p class="show-error-message-modal_message">
        処理を完了できませんでした。<br>
        入力内容を確認して、もう一度お試しください。
      </p>

      <!-- モーダルを閉じるボタン -->
      <button
        class="show-error-message-modal_button"
        type="button"
        data-show-error-message-modal-button>
        閉じる
      </button>

    </div>

  </div>

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

</body>
</html>

ファイル構成と設置方法

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

モーダルは「処理を実行する」ボタンをクリックすると表示され、「閉じる」ボタン、右上の「×」ボタン、または背景をクリックすると閉じます。お問い合わせ画面の送信失敗、会員サイトのログインエラー、管理画面の更新失敗、ECサイトの決済エラーなど、処理を続行できない理由を分かりやすく伝えたい場面で利用できます。

表示するタイトルやエラーメッセージ、ボタン名、色などは自由に変更できます。JavaScriptもシンプルな構成のため、実際の入力チェックやAPI通信、サーバー処理でエラーが発生したタイミングに合わせてモーダルを表示するよう簡単に組み込めます。

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

各ファイルの役割
index.html
エラーメッセージモーダルウインドウ、タイトル、説明文、ボタンなどのHTML構造を管理します。表示する文章やボタン名を変更できます。

style.css
モーダルウインドウ、背景、エラーアイコン、ボタン、余白、角丸、影などのデザインを管理します。

script.js
モーダルを開く処理、閉じる処理、背景クリック時の閉じる処理などを管理します。

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

カスタマイズできる内容
index.htmlではタイトル、エラーメッセージ、ボタン名を変更できます。style.cssではモーダルサイズ、背景色、アイコン色、ボタン色、余白、角丸、影などを変更できます。script.jsではモーダルを表示するタイミングや閉じる処理を編集できます。

数値調整
style.cssのmax-width:420px;を変更するとモーダルの最大横幅が変わります。padding:48px 28px 28px;を変更するとモーダル内部の余白が変わります。width:72px;とheight:72px;を変更するとエラーアイコンの大きさが変わります。font-size:38px;を変更すると感嘆符のサイズが変わります。

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



コメント