JavaScript TypeError:ele(“XYZ”)为null

时间:2012-11-14 17:13:07

标签: javascript javascript-events

我认为应该是一个返回TypeError的简单函数:ele(“XYZ”)为null并且没有返回正确的值。在我的例子中,元素XYZ被称为“AgeCount”。这是我的剧本:

function countAgesSelected(){
    var agesSelectedCount = 0;
    if (document.myform.a4049.checked==true) {
         agesSelectedCount++;
    }
    if (document.myform.a5064.checked==true) {
         agesSelectedCount++;
    }
    if (document.myform.a65plus.checked==true) {
         agesSelectedCount++;
    }
    ele('AgeCount').value = agesSelectedCount;
}

浏览器会在最后一行抛出错误。

以下是相关的HTML:

<input name="4049" type="checkbox" value="4049" id="a4049" starweb_type="Checkbox/Radio Button" checked="checked" onclick="countAgesSelected()" />40-49
<input name="5064" type="checkbox" value="5064" id="a5064" starweb_type="Checkbox/Radio Button" checked="checked" onclick="countAgesSelected()" />50-64
<input name="65plus" type="checkbox" value="65plus" id="a65plus" starweb_type="Checkbox/Radio Button" checked="checked" onclick="countAgesSelected()" />65+
<input type="hidden" value="0" name="AgeCount" />

我希望因为我是一个JavaScript新手,我只是有一个简单的语法错误。非常感谢任何帮助!

2 个答案:

答案 0 :(得分:-1)

function countAgesSelected(){
    var agesSelectedCount = 0;
    if (document.myform.a4049.checked==true) {
         agesSelectedCount++;
    }
    if (document.myform.a5064.checked==true) {
         agesSelectedCount++;
    }
    if (document.myform.a65plus.checked==true) {
         agesSelectedCount++;
    }
    document.getElementsByName('AgeCount')[0].value = agesSelectedCount;
}

抱歉,请将其视为ID,而不是名称

答案 1 :(得分:-1)

<强>更新

混合了getElementsByName和getElementsByTagName,代码现已更新。

ele函数来自何处?

使用document.getElementsByName("AgeCount")[0]代替ele-function或创建ele-function,如下所示:

function ele(element)
{
    return document.getElementsByName(element)[0];
}