-2

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 の初心者なので、単純な構文エラーがあることを願っています。どんな助けでも大歓迎です!

4

2 に答える 2

-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と読んでください

于 2012-11-14T17:14:59.817 に答える
-1

アップデート

getElementsByName と getElementsByTagName が混同されていたため、コードが更新されました。

関数はどこeleから来ていますか?

ele 関数の代わりに使用document.getElementsByName("AgeCount")[0]するか、次のように ele 関数を作成します。

function ele(element)
{
    return document.getElementsByName(element)[0];
}
于 2012-11-14T17:16:24.973 に答える