For循环返回未定义的变量

时间:2012-04-11 01:39:56

标签: javascript for-loop

var formobj = document.h1;
for (var j = 0; j < formobj.elements.length; j++) {
    if (formobj.elements[j].type == "radiobutton" && formobj.elements[j].checked) {
        var wholebase = formobj.elements[j].value;
    }
}

稍后在脚本中,变量设置为div的内部html,并标记为undefined。我的for循环中有缺陷吗?

2 个答案:

答案 0 :(得分:0)

没有类型radiobutton,我认为您需要type == 'radio'

答案 1 :(得分:-1)

您的wholesale变量是在内部范围内定义的。离开此范围后,变量不再存在。阅读有关Javascript范围herehere的信息。 您可以像这样更改代码:

var wholebase = null; //<-- declare the variable here
var formobj = document.h1;   
for (var j = 0; j < formobj.elements.length; j++){
        if (formobj.elements[j].type == "radiobutton" && formobj.elements[j].checked){
        wholebase = formobj.elements[j].value;
    }
}