如何确定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