如何确定checkbox是否被选中?

出于某种原因,我的表单不想获得checkbox的值…我不确定是否是我的编码,但是当我尝试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"不存在。 这工作得很好:

 <html> <head> <script language="javascript" type="text/javascript"> function exefunction(){ var lfckv = document.getElementById("lifecheck").checked; alert(lfckv); } </script> </head> <body> <label><input id="lifecheck" type="checkbox" >Lives</label> <button onclick="exefunction()">Check value</button> </body> </html> 

您正试图在加载之前读取您的checkbox的值。 该脚本在checkbox存在之前运行。 您需要在页面加载时调用脚本:

<body onload="dosomething()">

例:

http://jsfiddle.net/jtbowden/6dx6A/

第一次分配后,你也错过了一个分号。

只要浏览器find它,就会运行定义lfckv的行。 当您将其放入文档的头部时,浏览器会在生命检查元素创build之前尝试查找生命检查ID。 您必须将脚本添加到lifecheckinput下方才能使代码正常工作。

尝试学习jQuery这是一个很好的开始使用JavaScript的地方,它真的简化了你的代码,并帮助从你的HTML分离你的JS。 包括谷歌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:

 $(document).ready(fonction(){ //add selector of your checkbox var status=$('#IdSelector')[0].checked; console.lot(status); }); 
 <!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> 
 <!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> 
 var elementCheckBox = document.getElementById("IdOfCheckBox"); elementCheckBox[0].checked //return true if checked and false if not checked