JavaScriptでチェックボックスがチェックされているか取得するコードを紹介します。
JavaScriptでチェックボックスがチェックされているか、チェックされていないかを確認したい場合があります。
チェックボックスのチェック状態を取得するには、チェックボックスオブジェクトのcheckedプロパティの値を参照します。
チェックボックスのチェック状態をidで参照する場合は次の書式で記述します。
document.forms.(参照するフォームのid).(参照するチェックボックスのid).checked
チェックボックスのチェック状態を参照する場合は次の書式で記述します。
document.(参照するフォームのname).(参照するチェックボックスのname).checked
以下のコードを記述します。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript" language="javascript">
function onButtonClick() {
check1 = document.form1.Checkbox1.checked;
check2 = document.form1.Checkbox2.checked;
target = document.getElementById("output");
if (check1 == true) {
target.innerHTML = "チェック項目1がチェックされています。<br/>";
} else {
target.innerHTML = "チェック項目1がチェックされていません。<br/>";
}
if (check2 == true) {
target.innerHTML += "チェック項目2がチェックされています。<br/>";
} else {
target.innerHTML += "チェック項目2がチェックされていません。<br/>";
}
}
</script>
</head>
<body>
<form name="form1" action="">
<input id="Checkbox1" type="checkbox" /><label for="Checkbox1">チェック項目1</label><br />
<input id="Checkbox2" type="checkbox" /><label for="Checkbox2">チェック項目2</label><br />
<input type="button" value="Exec" onclick="onButtonClick();" />
</form>
<div id="output"></div>
</body>
</html>
下記が[Exec]ボタンがクリックされた際に実行するJavaScriptのコードです。チェックボックスの状態は、checkedプロパティで取得できます。
チェックボックスがチェックされていればtrueの値、チェックされていなければfalseの値となります。
checkedプロパティを判定し、メッセージを"output"IDを持つ要素のinnerHTMLプロパティに代入して表示します。
IDで指定した要素の位置へのテキスト表示はこちらの記事を参照してください。
<script type="text/javascript" language="javascript">
function onButtonClick() {
check1 = document.form1.Checkbox1.checked;
check2 = document.form1.Checkbox2.checked;
target = document.getElementById("output");
if (check1 == true) {
target.innerHTML = "チェック項目1がチェックされています。<br/>";
} else {
target.innerHTML = "チェック項目1がチェックされていません。<br/>";
}
if (check2 == true) {
target.innerHTML += "チェック項目2がチェックされています。<br/>";
} else {
target.innerHTML += "チェック項目2がチェックされていません。<br/>";
}
}
</script>
下記がフォーム部のHTMLです。フォームでは2つのチェックボックスと1つのボタンを配置しています。ボタンのonclickイベントでonBVuttonCLick()関数を実行します。
<form name="form1" action="">
<input id="Checkbox1" type="checkbox" /><label for="Checkbox1">チェック項目1</label><br />
<input id="Checkbox2" type="checkbox" /><label for="Checkbox2">チェック項目2</label><br />
<input type="button" value="Exec" onclick="onButtonClick();" />
</form>
上記のHTMLファイルを表示します。下図の画面が表示されます。
チェックボックスをクリックしてチェックをつけます。チェック後[Exec]ボタンをクリックします。ボタンの下部にチェックボックスの状態を示すメッセージが表示されます。
チェックボックスのチェックを変更してを[Exec]ボタンをクリックするとメッセージの内容も変わります。
DOMを利用して取得する場合は、フォーム内にチェックボックスの要素が入っていない場合でも取得できます。
以下の書式を利用します。
document.getElementById("(チェックボックスのID)").checked;
または
(チェックボックスオブジェクトを格納する変数) = document.getElementById("(チェックボックスのID)");
(チェックボックスオブジェクトを格納する変数).checked;
以下のコードを記述します。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript" language="javascript">
function onButtonClick() {
checkbox1 = document.getElementById("Checkbox1");
checkbox2 = document.getElementById("Checkbox2");
target = document.getElementById("output");
if (checkbox1.checked == true) {
target.innerHTML = "チェック項目1がチェックされています。<br/>";
} else {
target.innerHTML = "チェック項目1がチェックされていません。<br/>";
}
if (checkbox2.checked == true) {
target.innerHTML += "チェック項目2がチェックされています。<br/>";
} else {
target.innerHTML += "チェック項目2がチェックされていません。<br/>";
}
}
</script>
</head>
<body>
<input id="Checkbox1" type="checkbox" /><label for="Checkbox1">チェック項目1</label><br />
<input id="Checkbox2" type="checkbox" /><label for="Checkbox2">チェック項目2</label><br />
<input type="button" value="Exec" onclick="onButtonClick();" />
<div id="output"></div>
</body>
</html>
ボタンクリックにより onButtonClick()関数を実行します。document.getElementById() メソッドを呼び出し、チェックボックスオブジェクトを取得します。オブジェクトのcheckedプロパティにチェック状態が格納されているので、その値を判定し、画面にメッセージを表示します。
上記のHTMLファイルをWebブラウザで表示します。下図の画面が表示されます。
チェックボックスをチェックし[Exec]ボタンをクリックします。画面下部にチェックボックスのチェック状態を表すメッセージが表示されます。
チェックボックスのチェック状態を変更して[Exec]ボタンをクリックすると、メッセージの内容が変わります。
checkプロパティの値に対するチェックボックスのチェック状態は以下の通りです。
値 | 意味 |
---|---|
true | チェックボックスはチェックされている |
false | チェックボックスはチェックされていない |