我只是试图让这个复选框在检查邮件后通过在Javascript中运行函数取消选中后对邮件进行警报。我可以让它显示“已检查”的消息但无法获得“未经检查”的警报。
<input type="checkbox" id="chbx" onchange="foo()">
<script type="text/javascript">
var checkbox = document.getElementById("chbx");
function foo(){
if(checkbox.checked=true){
alert("Checked!");
}
else {
alert("UnChecked!");
}
};
</script>
答案 0 :(得分:7)
你的if语句中有单等号而不是双等号:
if (checkbox.checked=true) {
应该是
if (checkbox.checked == true) {
或只是
if (checkbox.checked) {
答案 1 :(得分:4)
您没有使用=
比较值。需要至少==
,更好===
if(checkbox.checked === true) {}
或简化
if(checkbox.checked) {}
答案 2 :(得分:2)
你犯了一个常犯的错误,就是使用一个=
这个实际将checkbox.checked
设置为true。如果您想进行比较,请确保使用双==
。
此外,复选框只有两个选项;所以,如果它没有关闭它:
这就是我要做的事情:
<input type="checkbox" id="chbx" onchange="checkbox_changed()">
<script type="text/javascript">
var checkbox = document.getElementById("chbx");
function checkbox_changed() {
if (checkbox.checked == true) {
alert("Checked!");
} else {
alert("UnChecked!");
}
}
</script>