利用規約に同意すると送信できるチェックボックスを作る方法【HTML/CSS/JavaScript・サンプルコード付き】

チェックボックス

利用規約に同意すると送信できるチェックボックスを作る方法

利用規約に同意すると送信できるチェックボックスを作る方法を紹介します。このサンプルでは、利用規約への同意チェックボックスをオンにすると送信ボタンが有効になり、チェックを外すと再び送信できなくなる仕組みを実装しています。お問い合わせフォームや会員登録画面などでよく利用される動作を簡単に再現できます。

初期状態では送信ボタンは無効になっており、利用規約へ同意するまではクリックできません。チェックボックスの状態をJavaScriptで監視し、自動で送信ボタンの有効・無効を切り替えます。利用者に同意を求めるフォームを作成したい場合に便利です。

利用規約の文章やボタンの文言はHTML、色・余白・サイズ・角丸などのデザインはCSS、チェック状態によるボタンの切り替え処理はJavaScriptから変更できます。外部ライブラリを使用せず、スマートフォン・タブレット・PCで利用できます。

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

デモ

利用規約への同意

利用規約に同意すると送信ボタンが押せます。

送信できました。

チェックを入れると送信ボタンが有効になります。送信ボタンを押すと完了メッセージが表示されます。

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

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

  <!-- 文字コードをUTF-8へ設定 -->
  <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="agree-checkbox-submit_wrap">

    <!-- エリアのタイトル -->
    <div class="agree-checkbox-submit_title">
      利用規約への同意
    </div>

    <!-- 操作方法を案内する説明文 -->
    <p class="agree-checkbox-submit_text">
      利用規約に同意すると送信ボタンが押せます。
    </p>

    <!-- 同意チェックボックスを囲むボックス -->
    <div class="agree-checkbox-submit_box">

      <!-- チェックボックスと項目名をまとめるラベル -->
      <label class="agree-checkbox-submit_label">

        <!-- 利用規約への同意状態を管理するチェックボックス -->
        <input
          class="agree-checkbox-submit_input"
          id="agree-checkbox-submit_check"
          type="checkbox"
          name="agreement"
          value="agreed">

        <!-- チェックボックスの項目名 -->
        <span class="agree-checkbox-submit_name">
          利用規約に同意します
        </span>

      </label>

    </div>

    <!-- 同意後に有効になる送信ボタン -->
    <button
      class="agree-checkbox-submit_button"
      id="agree-checkbox-submit_button"
      type="button"
      disabled>
      送信する
    </button>

    <!-- 送信ボタンを押した後に表示する完了メッセージ -->
    <div
      class="agree-checkbox-submit_result"
      id="agree-checkbox-submit_result"
      role="status">
      送信できました。
    </div>

  </div>

  <!-- チェック状態に応じて送信ボタンを切り替えるJavaScriptファイルを読み込み -->
  <script src="script.js"></script>

</body>
</html>
コードをコピーする場合 使用するコードのタブを選び、「このタブをコピー」をクリックすると、現在表示中のコードをコピーできます。
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。

ファイル構成と設置方法

このサンプルは、HTML・CSS・JavaScriptの3ファイルで構成されています。利用規約への同意チェックボックスをオンにした場合のみ送信ボタンが押せるフォームを作成できます。JavaScriptでチェック状態を監視し、送信ボタンの有効・無効を切り替えるシンプルな構成なので、初心者でも仕組みを理解しやすい内容です。

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

各ファイルの役割
index.html:フォーム、利用規約チェックボックス、送信ボタン、完了メッセージを配置します。項目名や文章を変更できます。

style.css:全体のレイアウト、チェックボックス、送信ボタン、完了メッセージのデザインを設定します。色や余白、サイズなどを自由に変更できます。

script.js:チェックボックスの状態を監視し、送信ボタンの有効・無効を切り替えます。送信ボタンを押した後に完了メッセージを表示する処理も行います。

設置方法・使い方
sampleフォルダ内へ3ファイルを配置し、index.htmlをブラウザで開くと利用できます。初期状態では送信ボタンは無効になっており、「利用規約に同意します」にチェックを入れると送信ボタンが押せるようになります。

カスタマイズできる内容
index.htmlではタイトル、説明文、チェックボックスの文言、送信ボタンの文字を変更できます。style.cssでは背景色、文字色、ボタンの色、余白、角丸などを自由に調整できます。script.jsでは送信後の動作や表示するメッセージを変更できます。

数値調整
style.css の max-width:640px; はフォーム全体の最大横幅です。640を大きくすると横幅が広くなります。

padding:32px; はフォーム内側の余白です。32を大きくすると余白が広くなります。

border-radius:18px; はフォーム全体の角丸です。18を大きくすると丸みが強くなります。

font-size:22px; はタイトル文字サイズです。22を変更するとタイトルの大きさが変わります。

width:22px;height:22px; はチェックボックスのサイズです。22を変更するとチェックボックスの大きさが変わります。

min-height:52px; は送信ボタンの高さです。52を大きくするとボタンが高くなります。

レスポンシブ対応
style.cssのメディアクエリでレスポンシブ対応しています。画面幅640px以下ではpaddingや余白を調整し、スマートフォン・タブレット・PCでも見やすく操作できるレイアウトになります。


こちらもおすすめ


コメント