我不明白为什么我的代码不起作用,有人可以检查一下吗?我是新手(JavaScript)



这是脚本:

<script>
var a,b,c;
a = document.getElementById("myCheck1");
b = document.getElementById("myCheck2");
c = document.getElementById("myCheck3");

此函数仅在另一个是注释时才有效:

function check() { 
if (a.checked == true)
document.getElementById("a").innerHTML="a true";
else
document.getElementById("a").innerHTML="a false";
if (b.checked == true)
document.getElementById("b").innerHTML="b true";
else
document.getElementById("b").innerHTML="b false";
if (c.checked == true)
document.getElementById("c").innerHTML="c true";
else
document.getElementById("c").innerHTML="c false";
}

这个函数不起作用,使另一个不起作用:

function clickOnB() {
if (a.checked == true || c.checked == true)
a.checked = false;
c.checked = false;
else
b.checked = true;
}
</script>

这是身体:

Checkbox1: <input type="checkbox" id="myCheck1" value="a"/>
Checkbox2: <input type="checkbox" id="myCheck2" onclick="clickOnB() " 
value="b"/>
Checkbox3: <input type="checkbox" id="myCheck3" value="c"/>
<p id="a"></p>
<p id="b"></p>
<p id="c"></p>
<button type="button" onclick="check()" />

我不明白为什么我的代码不起作用,有人可以检查一下吗?我是新手(JavaScript(

函数中存在语法问题:

function clickOnB() {
if (a.checked == true || c.checked == true)
a.checked = false;
c.checked = false; //Not in the if because of missing brackets
else //Syntax error
b.checked = true;
}

应该是

function clickOnB() {
if (a.checked == true || c.checked == true) {
a.checked = false;
c.checked = false;
} else {
b.checked = true;
}
}

如果未在if条件上指定括号,则仅计算以下命令(直到下一个分号(,以防if条件计算true。因为您希望在这种情况下执行多个命令,所以需要使用括号。

相关内容

最新更新