注册 登录
编程论坛 JavaScript论坛

小生初学JS,请大神看看代码哪里错误

yebanbaobei 发布于 2013-05-28 20:07, 923 次点击
编写目的是:小测卷,测试者测试完,点按钮,出现显示框。
现问题是:点按钮没反应。

<HTML>
<HEAD>
<TITLE>CartoonQuizFinal</TITLE>
<SCRIPT LANGUAGE="JavaScript1.2">
//在此创建两个数组,用来保存考生选择的答案和正确答案。
var a =new Daan(5);
var b=new Dati(5);
b[0]="b";
b[1]="c";
b[2]="d";
b[3]="c";
b[4]="a";
function recordanswer(question,a)
{
     answers[question-1]=a;
}
//在此创建函数scorequiz(),统计并输出这次考试的成绩!
function scorequiz()
{   
    var fenshu=0;
        for(var i=0;i<5;i++)
     {      
               if(a[i]==b[i])
            {        
           
           fenshu++;
            }  
        }
         if(fenshu<4)
       {
           alert("不及格");
       }
             else
          {
             alert("合格");
          }
     
}
</SCRIPT>
</HEAD>
<BODY>
<H1>地理知识小测验</H1><P>
Answer all of the questions on the quiz,then select the Score button to grade the quiz.
<FORM>
<B>1.中国的首都是?</B><P>
<INPUT TYPE=radio NAME=question1 VALUE="a" onClick="recordanswer(1,'a')">上海<BR>
<INPUT TYPE=radio NAME=question1 VALUE="b" onClick="recordanswer(1,'b')">北京<BR>
<INPUT TYPE=radio NAME=question1 VALUE="c" onClick="recordanswer(1,'c')">沈阳<BR>
<INPUT TYPE=radio NAME=question1 VALUE="d" onClick="recordanswer(1,'d')">广州<P>
<B>2.广东省的省会城市是?</B><P>
<INPUT TYPE=radio NAME=question2 VALUE="a" onClick="recordanswer(2,'a')">汕头<BR>
<INPUT TYPE=radio NAME=question2 VALUE="b" onClick="recordanswer(2,'b')">梅州<BR>
<INPUT TYPE=radio NAME=question2 VALUE="c" onClick="recordanswer(2,'c')">广州<BR>
<INPUT TYPE=radio NAME=question2 VALUE="d" onClick="recordanswer(2,'d')">韶关<P>
<B>3.中国的国土面积大约是?</B><P>
<INPUT TYPE=radio NAME=question3 VALUE="a" onClick="recordanswer(3,'a')">860万平方公里<BR>
<INPUT TYPE=radio NAME=question3 VALUE="b" onClick="recordanswer(3,'b')">1200万平方公里<BR>
<INPUT TYPE=radio NAME=question3 VALUE="c" onClick="recordanswer(3,'c')">600万平方公里<BR>
<INPUT TYPE=radio NAME=question3 VALUE="d" onClick="recordanswer(3,'d')">960万平方公里<P>
<B>4.广东省位于中国的什么部?</B><P>
<INPUT TYPE=radio NAME=question4 VALUE="a" onClick="recordanswer(4,'a')">东部<BR>
<INPUT TYPE=radio NAME=question4 VALUE="b" onClick="recordanswer(4,'b')">北部<BR>
<INPUT TYPE=radio NAME=question4 VALUE="c" onClick="recordanswer(4,'c')">南部<BR>
<INPUT TYPE=radio NAME=question4 VALUE="d" onClick="recordanswer(4,'d')">西部<P>
<B>5.中国最南面的一个省份是?</B><P>
<INPUT TYPE=radio NAME=question5 VALUE="a" onClick="recordanswer(5,'a')">海南省<BR>
<INPUT TYPE=radio NAME=question5 VALUE="b" onClick="recordanswer(5,'b')">广东省<BR>
<INPUT TYPE=radio NAME=question5 VALUE="c" onClick="recordanswer(5,'c')">四川省<BR>
<INPUT TYPE=radio NAME=question5 VALUE="d" onClick="recordanswer(5,'d')">吉林省<BR>
<INPUT TYPE=button VALUE="查看成绩" onClick="scorequiz()"><P>
</FORM>
</BODY>
</HTML>
3 回复
#2
诸葛修勤2013-05-31 20:52
中文乱码了
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=GBK">

#3
诸葛修勤2013-05-31 20:57
调试看看
var a =new Daan(5);
var b=new Dati(5);
a没定义
#4
hunying2013-06-01 00:22
var a =new Daan(5);
var b=new Dati(5);
这两句要改为:
var answers =new Array(5);
var b=new Array(5);
在这里,为什么a要改为answers或者其他名字呢,因为你下面有用到answers这个数组: answers[question-1] = a;
既然都用到数组answers了,所以也要把 if(a[i]==b[i])改为 if(answers[i]==b[i])
就不会报错了。
1