MENU

[js基礎⑨]inputが未入力の時に、ボタンが非活性になる。

inputが未入力の時に、ボタンを非活性にしたい。

よく入力フォームとかで、必須項目のインプットが未入力だとボタンがグレー色で動かせないサイトってありますよね。↓こんな感じでグレーアウトされてるボタンです。

今日はjavascriptで、inputが未入力の時にボタンを非活性にする実装について紹介します。

目次

実装例

下記が実際のコードです。
インプット欄に文字が入力されていないときは、グレーアウトかつ非活性になります

See the Pen Untitled by 勇飛高松 (@ngcorrsc-the-solid) on CodePen.

コード解説

次にコードを解説します。
①入力欄が空の時に、disabledにする。
textInput.value === ”で入力欄が空か否かを判別できます。

const textInput = document.getElementById('textInput');
const submitButton = document.getElementById('submitButton');

textInput.addEventListener('input', () => {
  if (textInput.value === '') {
    submitButton.disabled = true; // 入力が空ならボタンを無効化
  } else {
    submitButton.disabled = false; // 入力があればボタンを有効化
  }
});

もしも空なら、disabledを有効にして、入力欄に文字があれば無効にします。

②inputがdisableの時のcssを指定する。


button:disabled {
  background-color: #ccc; /* 非活性時の背景色 */
  color: #666;          /* 非活性時の文字色 */
  cursor: not-allowed;  /* 非活性時のカーソル */
}

button:not(:disabled) {
  background-color: #007bff;
  color: white;
}

buttonがdisableの時は、背景色をグレーにして、
buttonがnot(:disabled)の時は、背景色を青色にします。

以上ここまでで、input欄の状態によってボタンを非活性にする実装ができます。

まとめ

今日はinputが未入力の時に、ボタンを非活性にする実装を紹介しました。

フォームの実装などで使用する時があるので、何かの参考になれば幸いです。

もしも質問などあれば、コメント欄かXのDMよりお気軽にご連絡ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

リゾバ→工場→牧場と転々とした後、フロントエンジニアに。
現在はWebコーダーとして、Web制作に特化した学習記録をアップしています。

X→https://twitter.com/yuhi1321
note→https://note.com/yuhi1321

コメント

コメントする

目次