「JavaScript/イベント処理」の版間の差分
削除された内容 追加された内容
関連項目を追加 |
DOMの文脈に書き換えるべき? |
||
1 行
{{stub}}
==
Webページにおいて、ユーザーの
* マウスで画面上のボタンを押す
* 画面をスクロールする
等のアクションをユーザーしたの操作を JavaScript からイベントとして処理できる。
▲;コード例
▲<syntaxhighlight lang="JavaScript">
<!DOCTYPE html>
<html lang="ja">
14 ⟶ 15行目:
<title>サンプル</title>
<script>
function
window.alert("ボタンがクリックされました。")
};
20 ⟶ 21行目:
</head>
<body>
<input type="button" onclick="
</body>
</html>
</syntaxhighlight>
== 応用例 ==
HTMLの入力ボックス
たとえば、よく何かの登録画面において、テキスト入力ボックスに入力された文字が空白の場合には、「登録」ボタンを押せなくなくする
ユーザー登録を例にしよう。
<syntaxhighlight lang="
<form action="catchTest.php" method="post" onload="funcChange()" >
ユーザー名を登録: <input type="text" name="username" id="textbox1" onchange="funcChange()" onkeyup="funcChange()" >
<input type="submit" value="登録" id="button1" onchange="funcChange()" onkeyup="funcChange()" >
</form>
<script
//
if ( document.getElementById("textbox1").value == "" ) {
document.getElementById("button1").disabled = true;
49 ⟶ 48行目:
// テキスト入力のたびに判定。テキスト文字が何かあれば、登録ボタンを無効にする処理。
function funcChange(){
}
</script>
</syntaxhighlight>
まず、HTML側
▲;解説
▲まず、HTML側で onchange プロパティ (onChange) で、何か変更があったごとに起動する関数を指定できる。ただし、このonchangeプロパティは、テキスト入力ボックスの入力の場合には、入力後にそのテキストボックスからマウスカーソルが外れてからでないと反応しないので、これだけではあまり実用的ではない。
▲なので、さらに onkeyup プロパティ (onKeyUP)という、何かキーボードのボタンが押されて持ち上げられた場合に起動するイベント処理のプロパティを使う。
書式は
72 ⟶ 62行目:
である。(onchangeも同様)
▲JavaScript で関数を定義する場合は、型名「function」を忘れないようにしよう。
▲よくあるミスで、初心者は、C言語などJavaScript以外の他言語の癖で、型名「function」を忘れることがある。
さて、
onload="funcChange()"
というのは、
document.getElementById("button1") は、HTML文書の中から "button1" を id とする要素を探し Element オブジェクトとして返す。
Element オブジェクトは JavaScript で操作するためのオブジェクトで、この場合は Element オブジェクト の disabled プロパティを true を代入すると要素は無効になり、falsee を代入すると要素は有効になります。
▲form タグはHTMLのタグの一種。わからなければwikibooks『[[HTML/フォーム]]』を読め。
== 関連項目 ==
[[HTML ラベル]]:HTMLとの連携でラベルのイベント
|