【发布时间】:2014-10-23 17:07:05
【问题描述】:
我尝试了以下方法来捕获复选框选择时的值“1”和取消选择复选框时的值“0”。我面临的问题是,如果我选中该复选框,则会捕获值“1”,但如果我没有选中该复选框,则不会在表单数据上捕获值 =“0”。
JS:
<script>
function setvalue() {
if (document.getElementById('binary').checked = true) {
document.getElementById('binary').value='1';
} else {
document.getElementById('binary').value='0';
}
</script>
HTML:
<input name="Maximize" id="binary" type="checkbox" value=" ">
【问题讨论】:
-
查看格式颜色。你看出什么不对了吗?提示:你错过了结束 }
-
将
= true更改为=== true。=单独是一个赋值运算符,所以value总是被设置为"1"并且永远不会进入else部分 -
天哪,请不要分配字符串化的数字。
1或0就可以了 -
@SterlingArcher:你能详细解释一下吗?
-
默认情况下元素值是字符串,但将整数用引号括起来是一种不好的做法。就像
if (x == "true"),其中 true 现在是字符串而不是布尔值。另外,缓存你的元素,这样你就不必每次都调用document.getElementById("binary")。
标签: javascript html