パスワード表示トグル

便利系 Easy #js #password #input #toggle

目のアイコンを押すと、入力したパスワードの表示と非表示を切り替えられるトグルです。仕組みは入力欄の type 属性を password と text の間で入れ替えるだけ。隠している間は伏字、押すと中身が見えるようになり、アイコンも「目」と「目に斜線」を切り替えて状態を分かりやすく示します。

▶ プレビュー

解説

目のアイコンを押すと、入力したパスワードの表示と非表示を切り替えられるトグルです。仕組みは入力欄の type 属性を passwordtext の間で入れ替えるだけ。隠している間は伏字、押すと中身が見えるようになり、アイコンも「目」と「目に斜線」を切り替えて状態を分かりやすく示します。アイコンはインライン SVG で描かれており外部フォントに依存しません。入力欄とボタンは position で重ね、ボタンには aria-label を付けて支援技術にも役割が伝わるよう配慮しています。

役立つ場面

  • ログイン・新規登録フォームの入力ミス防止
  • パスワード再設定で入力内容を確認したいとき
  • クーポンや認証コードなど、伏字にしたい一時的な入力欄

アイコンの大きさは font-size、位置は righttop で調整できます。フォーカス時の枠色は入力欄の :focus で変えられます。注意点として、表示状態のままだと肩越しに覗かれる懸念があるため、初期状態は必ず非表示にしておくのが安全です。ボタンは type="button" を明示し、フォーム送信を誤って発火させないようにしてあります。アクセシビリティ上、状態が変わったことを伝えたい場合は aria-pressed を併用するとより丁寧です。

使用例・適したシーン

  • お問い合わせフォーム
  • ニュースレター登録
  • 資料請求フォーム
  • ログイン・新規登録

よくある質問

どうやって表示を切り替えていますか
入力欄の type 属性を password と text で入れ替えています。password のときは伏字、text のときは中身が見える状態になります。同時に目のアイコンも切り替えて、今どちらの状態かが見て分かるようにしています。
ボタンがフォームを送信してしまいませんか
ボタンに type="button" を明示しているため、フォーム内に置いても送信は発火しません。これを省くと既定で submit 扱いになり意図せず送信されるので、トグル用ボタンには必ず付けておくのが安全です。
追加日:2026-05-11
← すべてのスニペットへ戻る