パスワード入力完了で開くトグルスイッチを作る方法【HTML/CSS/JavaScript・サンプルコード付き】

トグルスイッチ

パスワード入力完了で開くトグルスイッチを作る方法

パスワード入力完了で開くトグルスイッチを作る方法を紹介します。このサンプルでは、あらかじめ設定したパスワードを最後まで入力すると、自動でトグルスイッチがONへ切り替わる動作を実装します。認証ボタンを押す必要がなく、入力内容をリアルタイムで判定しながらトグルスイッチの状態を更新できます。

管理画面の設定変更、開発者向けオプションの表示、特定機能の有効化など、正しいパスワードを入力した利用者だけに機能を開放したい場面で利用できます。入力途中ではトグルスイッチはOFFのままで、指定した文字列が入力された瞬間に自動でONへ切り替わるため、動作を分かりやすく確認できます。

タイトル、説明文、項目名、デモ用パスワードはHTMLから変更でき、CSSでは入力欄やトグルスイッチの色、サイズ、余白、角丸などを調整できます。JavaScriptでは判定するパスワードを変更できるため、用途に合わせたサンプルとしてカスタマイズしやすく、レスポンシブにも対応しているのでスマートフォン・タブレット・PCで利用できます。

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

デモ

管理者設定

パスワードを最後まで入力すると、自動で管理者モードがONになります。

管理者モード
デモ用パスワード:1234

デモ用パスワード「1234」を最後まで入力すると、自動でトグルスイッチがONになります。

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

<!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="password-complete-toggle_wrap">

    <!-- タイトル -->
    <div class="password-complete-toggle_title">
      管理者設定
    </div>

    <!-- 説明文 -->
    <p class="password-complete-toggle_text">
      パスワードを最後まで入力すると、自動で管理者モードがONになります。
    </p>

    <!-- パスワード入力欄のラベル -->
    <label
      class="password-complete-toggle_label"
      for="password-complete-toggle-password">
      パスワード
    </label>

    <!-- パスワード入力欄 -->
    <input
      class="password-complete-toggle_input"
      id="password-complete-toggle-password"
      type="password"
      placeholder="パスワードを入力"
      autocomplete="off">

    <!-- 管理者モード設定 -->
    <div class="password-complete-toggle_item">

      <!-- 設定項目名 -->
      <span class="password-complete-toggle_name">
        管理者モード
      </span>

      <!-- トグルスイッチ操作部分 -->
      <div class="password-complete-toggle_control">

        <!-- JavaScriptで自動的に切り替えるチェックボックス -->
        <input
          class="password-complete-toggle_checkbox"
          id="password-complete-toggle-switch"
          type="checkbox"
          disabled>

        <!-- トグルスイッチ本体 -->
        <label
          class="password-complete-toggle_switch"
          for="password-complete-toggle-switch"
          aria-label="管理者モードの状態">
        </label>

      </div>

    </div>

    <!-- デモ用パスワードの案内 -->
    <p class="password-complete-toggle_note">
      ※デモ用パスワード:1234
    </p>

  </div>

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

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

ファイル構成と設置方法

このサンプルはHTML・CSS・JavaScriptの3ファイルで構成されています。HTMLではパスワード入力欄とトグルスイッチを配置し、CSSでは入力フォームやトグルスイッチの見た目を設定します。JavaScriptでは入力されたパスワードを判定し、正しいパスワードが最後まで入力された時点でトグルスイッチを自動的にONへ切り替えます。

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

各ファイルの役割
index.htmlはパスワード入力欄、管理者モードのトグルスイッチ、説明文を配置するファイルです。タイトル、説明文、項目名、デモ用パスワードの案内などを変更できます。

style.cssは入力フォームやトグルスイッチ全体のデザインを設定するファイルです。横幅、余白、背景色、文字サイズ、入力欄、スイッチの色や角丸などを自由に変更できます。

script.jsは入力されたパスワードを判定し、正しいパスワードが入力された場合のみトグルスイッチをONへ切り替える処理を記述しています。判定に使用するパスワードもここで変更できます。

設置方法・使い方
sampleフォルダへindex.html、style.css、script.jsを配置します。3つのファイルを同じ階層へ保存したあと、sample/index.htmlをブラウザで開いてください。パスワード入力欄へ設定したパスワードを最後まで入力すると、自動でトグルスイッチがONへ切り替わります。

カスタマイズできる内容
index.htmlではタイトル、説明文、入力欄のプレースホルダー、設定項目名、案内文などを変更できます。

style.cssではフォーム全体の横幅、余白、背景色、文字サイズ、入力欄のデザイン、トグルスイッチの色、サイズ、角丸などを調整できます。

script.jsでは判定するパスワードを変更できます。別の文字列へ変更すれば、そのパスワードが最後まで入力されたときだけトグルスイッチがONになります。

数値調整
style.css
max-width:700px;
フォーム全体の最大横幅です。値を大きくすると横に広がり、小さくするとコンパクトになります。

padding:32px;
フォーム全体の内側余白です。値を大きくすると内容と枠線の間隔が広がり、小さくすると詰まった表示になります。

font-size:22px;
タイトルの文字サイズです。値を大きくすると文字が大きくなり、小さくすると控えめになります。

padding:14px 16px;
パスワード入力欄の内側余白です。値を変更すると入力欄の大きさが変わります。

width:52px;
トグルスイッチの横幅です。値を大きくするとスイッチ全体が横に広がります。

height:28px;
トグルスイッチの高さです。値を大きくすると縦方向に大きくなります。

transform:translateX(24px);
ONになったときに丸いボタンを移動する距離です。スイッチのサイズを変更した場合は、この値も合わせて調整してください。

transition:0.3s;
入力欄やトグルスイッチが切り替わる時間です。0.3秒で変化します。値を大きくするとゆっくり、小さくすると速く切り替わります。

レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssのwidth:100%max-width:700pxにより画面幅に合わせてフォーム全体が縮小されます。また、640px以下では内側余白を小さくするmedia queryを使用しているため、スマートフォン・タブレット・PCで利用できます。


こちらもおすすめ


コメント