onchange(JavaScript)の使い方を解説
システム開発

onchange(JavaScript)の使い方を解説

約5分で読めます
目次

onchangeイベントとは?

onchangeイベントとは?

onchange イベントは、HTML要素の値が変更されたときに発生するイベントです。

これは、ユーザーがフォームに入力したり、ドロップダウンリストからオプションを選択したり、チェックボックスをオン/オフしたりするなど、さまざまな状況で発生します。

onchange イベントは、以下のようなさまざまな目的に使用できます。

  • 入力内容の検証
  • フォームデータの送信
  • 動的なコンテンツの更新
  • ユーザーインターフェースの変更
JavaScript confirm() メソッド:ユーザーに確認ダイアログを表示する方法 | デジタルトレンドナビ
JavaScript confirm() メソッド:ユーザーに確認ダイアログを表示する方法 | デジタルトレンドナビ
この記事では、JavaScriptのconfirm()メソッドを用いてユーザーに確認ダイアログを表示する方法を解説します。基本的な使い方、サンプルコード、戻り値の取り扱い、そして注意点について説明し、初心者でも容易に理解できるように記載されています。

onchangeイベント発生時の動作

onchangeイベント発生時の動作

onchange イベントは、ユーザーが要素の値を変更し、フォーカスがその要素から離れたときに発生します。つまり、ユーザーが要素に入力し、別の要素に移動したり、Enterキーを押したりするまでイベントは発生しません。

ただし、以下の例外があります。

  • select 要素の場合、ユーザーがオプションを選択した時点でイベントが発生します。

イベントハンドラの登録

イベントハンドラの登録

onchange イベントハンドラは、HTML要素の onchange 属性を使用して登録できます。属性値には、イベント発生時に実行されるJavaScript関数を指定します。

イベントハンドラの登録例

下記の例では、myFunction 関数は、ユーザーがテキスト入力フィールドに入力内容を変更するたびに実行されます。

<input type="text" onchange="myFunction()">

イベントオブジェクト

イベントオブジェクト

onchange イベントが発生すると、イベントオブジェクトが生成されます。このオブジェクトには、イベントに関するさまざまな情報が含まれています。

イベントオブジェクトの主なプロパティは以下のとおりです。

  • target: イベントが発生した要素
  • value: 変更された要素の値
  • type: イベントの種類

イベントオブジェクトの例

下記の例では、myFunction 関数は、ユーザーがテキスト入力フィールドに入力内容を変更するたびに、変更された値をコンソールに出力します。

function myFunction(event) {
// event.target は、イベントが発生した要素を指します
// event.value は、変更された要素の値を取得します
// event.type は、イベントの種類を取得します

console.log(event.target.value);
}

応用例

応用編

以下は、onchange イベントの応用例です。

入力内容の検証

ユーザーが入力した値が正しいかどうかを検証するために使用できます。

下記の例では、validateEmail 関数は、ユーザーがテキスト入力フィールドに入力した値が有効なメールアドレスかどうかを検証します。

function validateEmail(event) {
// event.target は、イベントが発生した要素を指します
// event.value は、変更された要素の値を取得します

var email = event.target.value;
var regex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

if (!regex.test(email)) {
alert("無効なメールアドレスです");
}
}

フォームデータの送信

ユーザーがフォームに入力したデータをサーバーに送信するために使用できます。

下記の例では、submitForm 関数は、ユーザーがフォームに入力したデータをサーバーに送信します。

function submitForm(event) {
// event.target は、イベントが発生した要素を指します
// event.preventDefault() は、フォームの送信をキャンセルします

event.preventDefault();

var data = new FormData(document.getElementById("myForm"));

// サーバーにデータを送信する処理
}

まとめ

まとめ

onchange イベントは、HTML要素の値が変更されたときに発生するイベントです。このイベントは、さまざまな目的に使用できます。

イベントハンドラの登録方法と、イベントオブジェクトの主なプロパティについて理解することで、onchange イベントを効果的に活用することができます。

デジタルトレンドナビ

デジタルマーケティングでお悩みの方は、テクノデジタルにご相談ください。弊社では最新技術や長年のシステム資産を活かしたコンサルティングサービスを実施しています。お客様の事業に合わせた提案ができるので、ぜひお気軽にお問い合わせください。