这是一个网上在线考试的网页,有填空题,现在的问题是只用javascript来实现

apple749769 2002-10-28 12:00:18

这是一个网上在线考试的网页,有填空题,现在的问题是只用javascript来实现
填空题的答案保存在一个rightanswer数组里,
问题:
1、怎么样将数组的数据取出来。
2、怎么样将用户所写的填空题的答案得到?
3、怎么样让1和2所得到进行比较?
下面是这个程序的一小段,希望各位大虾改正,补充。。。。。。。

<html>
<script language="javascript">
rightanswer={"intelligent","harder"};
function getresult(form,right,score_per_problem)
{
if(answer[i]==right(i))
{
如果正确,则。。。

score[i]=score_per_problem;
totalscore+=score[i];
}
</script>

<input type=button value=提交 onclick="getresult(this.form,rightanser,1)">
...全文
651 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mtide 2002-10-28
  • 打赏
  • 举报
回复
首先:
replace("form,right,score_per_problem",",",".")
apple749769 2002-10-28
  • 打赏
  • 举报
回复
有那位帮我查看一下,上面代码有什么错误。特别是参数传达。。。
apple749769 2002-10-28
  • 打赏
  • 举报
回复
<script language="javascript">
var rightanswer=new Array(21)
rightanswer[0]="T";
rightanswer[1]="F";
rightanswer[2]="T";
rightanswer[3]="F";
rightanswer[4]="T";
rightanswer[5]="T";
rightanswer[6]="F";
rightanswer[7]="F";
rightanswer[8]="F";
rightanswer[9]="intelligent";
rightanswer[10]="talk";
rightanswer[11]="harder";
rightanswer[12]="difficult";
rightanswer[13]="concentrate";
rightanswer[14]="talking";
rightanswer[15]="homework";
rightanswer[16]="term";
rightanswer[17]="plenty";
rightanswer[18]="say";
rightanswer[19]="botton";
rightanswer[20]="hockey";
function getresult(form,right[],score_per_problem)
{
var totalscore=0;
var score=new Array();
var flag=1;
var answer=new Array();
for(var i=0;i<right.length;i++) answer[i]="未答";
var j=0;

for(var i=0;i<form.elements.length;i++)
{
element=form.elements[i];
if(element.type=="radio" && element.checked)
{
var item=parseInt(element.name.substr(1));
answer[item-1]=element.value;
}

}
var message="<html><head><title>测试结果</title></head>";
message+="<body><div align=center class=p2><center><font color=red><h2>测试结果</h2></font><br>";
message+="<table width=400 border=1 class=p1><tr align=center valign=center><th>题号</th><th>正确答案</th><th>您的答案</th><th>得分</th></tr>";
for(var i=0;i<answer.length;i++)
{

if(answer[i]==right.charAt(i))
{

score[i]=score_per_problem;
totalscore+=score[i];
}else
{
flag=0;
score[i]=0;
}
var temp="<tr align=center valign=center><td>"+(i+1)+"</td><td>"+right.charAt(i)+"</td><td>"+answer[i]+"</td><td><font color=red>"+score[i]+"</font></td></tr>";
message+=temp
}
message+="<tr align=center valign=center><td colspan=2>您的最终得分</td><td colspan=2><font size=+1 color=red><b>";
message+=totalscore;
message+="</font></b></td></tr></table>";
if(flag==1) message+="<br><h3>恭喜!您的答案完全正确!</h3>";
message+="<br>谢谢您对oh100的支持!<br><a href='javascript:close()'>关闭窗口</a></center></div></body></html>";
newwin=window.open("","","height=400,width=450,scrollbars=yes,top=0,left=0,x=0,y=0");
newwin.document.write(message);
newwin.document.close();
}


<input type="button" value="查看结果" onclick="getresult(this.form,rightanswer[],1)" name="B1">
apple749769 2002-10-28
  • 打赏
  • 举报
回复
哦,楼上的,我做得这个完全是用javascript做的。不能用asp里的服务器脚本。
www525 2002-10-28
  • 打赏
  • 举报
回复
正确答案用一个全局变量数组保存

录入框:
<%for i=1 to num%>
<INPUT TYPE='text' NAME='answer<%=i%>' onchange='getresult(this,<%=i%>)'>
'每一个空的分值
<INPUT TYPE='hidden' NAME='score<%=i%>' value=<%=rs("socre")%>>
<%next%>

用一个hidden来保存得分:
<INPUT TYPE='hidden' NAME='totalscore'>


javascript函数:

function getresult(form,i)
{
answer=eval("document.frm.answer"+i);
score=eval("document.frm.score"+i);
if(answer.value==right(i))
{
score=document.frm.score.value;
document.frm.totalscore.value+=score;
}
</script>

apple749769 2002-10-28
  • 打赏
  • 举报
回复
up,请各位高手帮忙。。。。。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧