+ -
当前位置:首页 → 问答吧 → 【求助】xml+js+html 结果输出问题?

【求助】xml+js+html 结果输出问题?

时间:2004-04-22

来源:互联网

我用JS写了下面的html文件,但JS里面的值知如何输出到Html的Table中:
<html>
         <head>
           <title>Assignment2 By</title>
           </head>
          <script type="text/javascript" for="window" event="onload">
        var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async="false";
        xmlDoc.load("Assignment2b.xml");
        yea.innerText=xmlDoc.getElementsByTagName("year").item(0).text
        clas.innerText=xmlDoc.getElementsByTagName("class").item(0).text
        var node=xmlDoc.documentElement.firstChild;
        var chineseNote=0;
        var chineseAverage=0;

        do {
        chineseNote=node.getAttribute("Chinese")
                chineseNote *= 1
                chineseAverage += chineseNote
        }
        while(node=node.nextSibling);

        chineseAverage /=18;
        </script>
         <body>
                 <br>Examination Summary</br>
                 <TABLE>
                 <TR><TH></TH><TH></TH></TR>
                 <TR><td>Year:</td><TD><span id="yea"></span></TD></TR>
                 <TR><TD>Class:</TD><TD><span id="clas"></span></TD></TR>
                 </TABLE>
                   <br></br>
                  <TABLE border='2'>
                  <tr><th></th><th>Chinese</th></tr>
                  <tr><td>Average</td> <td>如何将在JS中的chineseAverage 放在这里</td>  </tr>
                  </TABLE>
         </body>
</html>

原Xlm 文件:
<?xml version="1.0"?>
<result>
        <year>2003-04</year>
        <class>Form 4A</class>
        <store StudentName="Au,Peter" Chinese="80" English="70" Mathematics="50" Physics="Absent" Chemistry="30" Biology="40" />
</result>

作者: jmlwh   发布时间: 2004-04-22

<body>
         <br>Examination Summary</br>
         <TABLE>
         <TR><TH></TH><TH></TH></TR>
         <TR><td>Year:</td><TD><span id="yea"></span></TD></TR>
         <TR><TD>Class:</TD><TD><span id="clas"></span></TD></TR>
         </TABLE>
         <br></br>
         <TABLE border='2'>
         <tr><th></th><th>Chinese</th></tr>
         <tr><td>Average</td> <td>
<script language=javascript>
document.write(chineseAverage);
</script>
如何将在JS中的chineseAverage 放在这里</td> </tr>
         </TABLE>
     </body>
</html>

作者: melop   发布时间: 2004-04-22

<script language=javascript>
document.write(chineseAverage);
</script>
我将它加了上去,但还是不能显示出来,它说‘chineseAverage 未定义’,
请问高人我那里出错了

作者: jmlwh   发布时间: 2004-04-22

哦,我搞错了一点东西

因为你的代码是在onload时才调用的,chineseAverage会没有定义。

你这样好了:
...
    chineseNote=node.getAttribute("Chinese")
        chineseNote *= 1
        chineseAverage += chineseNote
    }
    while(node=node.nextSibling);

    chineseAverage /=18;

    oAv_CN_Field.innerHTML = chineseAverage; //注意这里。
    </script>
     <body>
         <br>Examination Summary</br>
         <TABLE>
         <TR><TH></TH><TH></TH></TR>
         <TR><td>Year:</td><TD><span id="yea"></span></TD></TR>
         <TR><TD>Class:</TD><TD><span id="clas"></span></TD></TR>
         </TABLE>
         <br></br>
         <TABLE border='2'>
         <tr><th></th><th>Chinese</th></tr>
         <tr><td>Average</td> <td id="oAv_CN_Field">如何将在JS中的chineseAverage 放在这里</td> </tr>
         </TABLE>
     </body>
</html>

仅用于ie和新版本的opera

作者: melop   发布时间: 2004-04-22

成功了
太多谢你。

作者: jmlwh   发布时间: 2004-04-22