我有一个javascript函数
<head>
<title>
Test
</title>
<script type="text/javascript">
function GetResult()
{
count = 0;
for(var i=0;i<10;i++){
for(var j=1;j<4;j++){
if (document.getElementById("label"+i+j).checked){
count +=1;
}
}
}
if (count!=10)
alert("Please answer all the questions");
else alert(count);
}
</script>
在代码中有很多单选按钮。看起来像
<input type="radio" name="q1" value="1" id="label01"/>
但是我的javascript函数从不显示警告。 应该调用函数的按钮是
<input type="button" value="Result" onclick="GetResult()"/>
也许按钮不会调用GetResult
?
答案 0 :(得分:0)
试试这个:
function GetResult() {
var count = 0;
for (var i = 0; i < 10; i++){
for (var j = 1; j < 4; j++){
var label = document.getElementById("label" + i + j);
if (label && label.checked) {
count +=1;
}
}
}
if (count != 10) {
alert("Не все отвечено");
} else {
alert(count);
}
}
var
声明中添加了count
。document.getElementById()
是否在检查该值的checked
属性之前返回了值。答案 1 :(得分:0)
详细说明Felix已经说过的内容:以下是检查document.getElementById
是否找到指定元素的方法(如果失败则返回null)。
for (var i = 0; i < 10; i++) {
for (var j = 1; j < 4; j++) {
// Store the result in a local variable
var label = document.getElementById("label"+i+j);
// Include a check whether "null" got returned
if (label && label.checked) {
count +=1;
}
}
}