javascript函数没有';我不返回任何结果

javascript函数没有';我不返回任何结果,javascript,Javascript,我有一个javascript函数 <head> <title> Test </title> <script type="text/javascript"> function GetResult() { count = 0; for(var i=0;i<10;i++){ for(var j=1;

我有一个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>

试验
函数GetResult()
{
计数=0;
对于(var i=0;i尝试以下方法:

    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);
        }
    }
函数GetResult(){
var计数=0;
对于(变量i=0;i<10;i++){
对于(var j=1;j<4;j++){
var label=document.getElementById(“标签”+i+j);
如果(已选中标签和标签(&label){
计数+=1;
}
}
}
如果(计数!=10){
警报(“ччччччч”);
}否则{
警报(计数);
}
}
  • var
    添加到
    count
    声明中
  • 修正了一些常规格式
  • 重要的一点是:检查
    document.getElementById()
    是否返回了一个值,然后再检查该值的
    checked
    属性

详细说明Felix已经说过的话:下面是如何检查
document.getElementById
是否找到指定的元素(如果失败,它将返回null)

for(变量i=0;i<10;i++){
对于(var j=1;j<4;j++){
//将结果存储在局部变量中
var label=document.getElementById(“标签”+i+j);
//包括检查是否返回了“null”
如果(已选中标签和标签(&label){
计数+=1;
}
}
}

是否有错误?如果ID为
的元素“label”+i+j
不存在,
document.getElementById(“label”+i+j).checked
将抛出错误(因为
getElementById
将返回
null
).它在Felix King指出的地方出现了错误,因此没有结束。你需要某种检查来确保它不是空的。嗯,它是空的。怎么了?我无法检查radiobutton是否被这样检查?可能它没有返回任何内容,因为你的函数中没有任何
return
?@user1432980是的,你没有Rmaly可以通过您尝试的方式来实现这一点。但是您测试的标签比页面上的标签多,因此在尝试查找缺少的标签时会出现错误。
<input type="button" value="Result" onclick="GetResult()"/>
    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);
        }
    }
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;
        }
    }
}