何らかの理由で、私のフォームはチェックボックスの値を取得したくありません...それが自分のコーディングであるかどうかはわかりませんが、値をalert()
しようとすると、結果としてundefined
を取得します。何が間違っていますか?
<head>
<script>
var lfckv = document.getElementById("lifecheck").checked
function exefunction(){
alert(lfckv);
}
</script>
</head>
<body>
<label><input id="lifecheck" type="checkbox" >Lives</label>
</body>
編集
これに変えてみた
function exefunction() {
alert(document.getElementById("lifecheck").checked);
}
しかし、今ではexecute
でさえも望んでいません。何が悪いの?
var lfckv
を関数内に配置します。その行が実行されるとき、本文はまだ解析されておらず、要素"lifecheck"
は存在しません。これは完璧に機能します:
function exefunction() {
var lfckv = document.getElementById("lifecheck").checked;
alert(lfckv);
}
<label><input id="lifecheck" type="checkbox" >Lives</label>
<button onclick="exefunction()">Check value</button>
ロードする前にチェックボックスの値を読み取ろうとしています。スクリプトは、チェックボックスが存在する前に実行されます。ページがロードされたら、スクリプトを呼び出す必要があります。
<body onload="dosomething()">
例:
http://jsfiddle.net/jtbowden/6dx6A/
また、最初の割り当て後にセミコロンが欠落しています。
このコードを使用して、true
またはfalse
を返すことができます。
$(document).ready(function(){
//add selector of your checkbox
var status=$('#IdSelector')[0].checked;
console.log(status);
});
Lfckvを定義する行は、ブラウザーが検出するたびに実行されます。ドキュメントのヘッドに配置すると、ブラウザはlifecheck要素が作成される前にlifecheck idを見つけようとします。コードを機能させるには、ライフチェック入力の下にスクリプトを追加する必要があります。
学習してみてください jQuery これはjavascriptから始めるのに最適な場所であり、コードを本当に単純化し、htmlからjsを分離するのに役立ちます。 GoogleのCDNからjsファイルを含めます(https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js)
次に、スクリプトタグ(<head>
内)で次を使用します。
$(function() {//code inside this function will run when the document is ready
alert($('#lifecheck').is(':checked'));
$('#lifecheck').change(function() {//do something when the user clicks the box
alert(this.checked);
});
});
以下は、チェックボックスがチェックされている場合はtrue、チェックされていない場合はfalseを返します。
$(this).is(":checked")
$(this)を確認する変数に置き換えます。
条件で使用されます:
if ($(this).is(":checked")) {
// do something
}
<!doctype html>
<html lang="en">
<head>
</head>
<body>
<label><input class="lifecheck" id="lifecheck" type="checkbox" checked >Lives</label>
<script type="application/javascript" >
lfckv = document.getElementsByClassName("lifecheck");
if (true === lfckv[0].checked) {
alert('the checkbox is checked');
}
</script>
</body>
</html>
そのため、javascriptにイベントを追加して、動的イベントにチェックボックスを適用させることができます。
ありがとう
var elementCheckBox = document.getElementById("IdOfCheckBox");
elementCheckBox[0].checked //return true if checked and false if not checked
ありがとう