出于某种原因,我的表单不想获取复选框的值...我不确定它是否是我的编码,但是当我尝试alert()
值时,我得{ {1}}结果。我有什么不对?
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);
}
。出了什么问题?
答案 0 :(得分:98)
将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>
答案 1 :(得分:5)
您正在尝试在加载复选框之前读取复选框的值。该脚本在复选框存在之前运行。您需要在页面加载时调用脚本:
<body onload="dosomething()">
示例:
http://jsfiddle.net/jtbowden/6dx6A/
在第一次分配后,您也错过了分号。
答案 2 :(得分:4)
您可以使用此代码,它可以返回true
或false
:
$(document).ready(function(){
//add selector of your checkbox
var status=$('#IdSelector')[0].checked;
console.log(status);
});
&#13;
答案 3 :(得分:1)
只要浏览器找到,就会运行定义lfckv的行。当您将其放入文档的头部时,浏览器会在创建lifecheck元素之前尝试查找lifecheck id。您必须在lifecheck输入下面添加脚本,以使代码正常工作。
答案 4 :(得分:1)
尝试学习jQuery这是一个开始使用javascript的好地方,它真正简化了代码并帮助将你的js与你的html分开。包含谷歌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);
});
});
答案 5 :(得分:0)
var elementCheckBox = document.getElementById("IdOfCheckBox");
elementCheckBox[0].checked //return true if checked and false if not checked
感谢
答案 6 :(得分:0)
<!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中添加事件,让动态事件受到复选框的影响。
感谢
答案 7 :(得分:0)
如果选中此复选框,则将返回true,否则将返回false。
$(this).is(":checked")
将$(this)替换为您要检查的变量。
并用于以下条件:
if ($(this).is(":checked")) {
// do something
}
答案 8 :(得分:-2)
<!DOCTYPE html>
<html>
<body>
<input type="checkbox" id="isSelected"/>
<div id="myDiv" style="display:none">Is Checked</div>
</body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$('#isSelected').click(function() {
$("#myDiv").toggle(this.checked);
});
</script>
</html>