Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptでボタンを有効または無効にする方法(状態に基づく)

入力フィールドが空かどうかに基づいてボタンを無効または有効にする方法を学びます。

Webでフォームに入力すると、すべてまたは一部のテキストフィールド(必須フィールド)に入力するまでフォームを送信できないことがよくあります。同じ原則がチェックボックスとラジオボタンにも当てはまります。

入力フィールドが空かどうかに基づいて、ボタンの状態(有効か無効か)を制御する方法は次のとおりです。

HTML

次のHTMLをエディタに追加します:

<input class="input" type="text" placeholder="fill me" />
<button class="button">Click Me</button>

JavaScript

次のJavaScriptを追加します

let input = document.querySelector(".input")
let button = document.querySelector(".button")

button.disabled = true

input.addEventListener("change", stateHandle)

function stateHandle() {
  if (document.querySelector(".input").value === "") {
    button.disabled = true
  } else {
    button.disabled = false
  }
}

これで、入力フィールドが空である限り無効になり、入力を開始するとすぐに有効になるボタンができました。

動作するすべてのコードを含むデモを確認してください。

デモコード。

HTMLおよびJavaScriptコードの仕組み

まず、いくつかのHTML要素、入力フィールド、およびボタンを定義します。次に、JavaScriptを使用して2つの変数を作成し、各要素への参照を格納します input ボタン 。これで、各要素をプログラムで操作するための完全な制御が可能になりました。

ボタンの状態を無効にすることから始めます。デフォルトでは、ボタンの状態は有効です。 HTMLで。 disable =trueを使用する これで、ユーザーのUIでボタンがグレー表示(無効)になります。

次に、イベントハンドラー( addEventListener )をアタッチします ) input イベントプロパティchangeを持つ変数 、要素との相互作用をリッスン(監視)するプロパティです。この場合、ユーザーが入力フィールド内に入力して入力フィールドを操作し、関数を実行してそのイベントに反応するタイミングを知りたいと思います。

実行する関数はstateHandlerと呼ばれます 入力フィールド内に変更があるたびに起動します。

stateHandler内のコードは、「入力フィールドの値が空の文字列の場合( ==='' )次にボタンを無効にします。それ以外の場合は( else )有効にします。


  1. JavaScriptでボタンがクリックされているかどうかを確認するにはどうすればよいですか?

    以下は、JavaScriptを使用してボタンがクリックされたかどうかを確認するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <s

  2. JavaScriptでボタンクリック時に名前を追加および削除するにはどうすればよいですか?

    作成するにはadd()メソッドを使用し、作成および追加された要素を削除するにはuseremove()を使用できます。以下はコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initialscale=1.0"> <title>Document</t