二维码
微世推网

扫一扫关注

当前位置: 首页 » 快闻头条 » 经验 » 正文

用JavaScript制作在线测试题

放大字体  缩小字体 发布日期:2018-04-18 17:20:54    作者:微世推-王华    浏览次数:296
导读

计算机的普及以及互联网的飞速发展,让越来越多的人接触到了网络。许多人利用它来学习,因为在网络发展的今天,各种专业的相关资料几乎都能在网上索取到。网络教育已经相当普及了,上网络大学也不是什么新鲜事了。

  计算机的普及以及互联网的飞速发展,让越来越多的人接触到了网络。许多人利用它来学习,因为在网络发展的今天,各种专业的相关资料几乎都能在网上索取到。网络教育已经相当普及了,上网络大学也不是什么新鲜事了。许多人在网上建起了教学网站,网站中除了丰富的教学资料,练习题、模拟题肯定也是必不可少的。利用网络学习方式的开放性、灵活性,网站可以制作出在线测试系统,让学习者能够很方便的了解到自己的学习情况。下面的这个例子,就是通过Javascript制作出的一个简单的在线测试题(图1),试题答完后,能根据答题者所选答案,给出相应的成绩并公布答错题的正确答案(图2)。

图1

图2

制作方法如下:


第1步、把如下代码加入 head 区域中。
script language="Javascript"
var Total_测试题 = 4 // 修改这里与题目数量一致。
var msg = ""
// 正确答案。
  var Solution = new Array(Total_测试题)
  Solution[0] = "TCP/IP"
  Solution[1] = "集线器"
  Solution[2] = "SUN"
  Solution[3] = "Microsoft"

function GetSelectedButton(ButtonGroup)
{
  for (var x=0; x ButtonGroup.length; x++)
  if (ButtonGroup[x].checked) return x
  return 0
}
function ReportScore(correct)
{
  var SecWin =
  window.open("","scorewin","scrollbars,width=300,height=220")
  var MustHave1 = " HTML HEAD TITLE 测验成绩报告 /TITLE /HEAD BODY "
  var Percent = " H2 测验成绩 : "+Math.round(correct/Total_测试题*100)
  + "分 /H2 HR "
  lastscore=Math.round(correct/Total_测试题*100)
  if (lastscore == "100"){
  msg = MustHave1 +Percent + " font color='red' 恭喜,全部答对了!
/font p " + msg  + " input type='button' value='close'
avascript:window.close() /BODY /HTML "}
  else {
  msg = MustHave1 +Percent + " font color='red' 正确答案: /font p " +
msg  + " input type='button' value='close'
avascript:window.close() /BODY /HTML "
}
  SecWin.document.write(msg)
  msg = ""  //清空msg
}
function Grade()
{
  var correct = 0
  var wrong = 0
  for (number=0; number Total_测试题; number++)
  {
  var form = document.forms[number]  // 测试题 #
  var i = GetSelectedButton(form.q1)
  if (form.q1[i].value == "1")
  { correct++ }
 else
  { wrong++
  msg += "测试题 "+(number+1)+"."
  +Solution[number]+" BR "
  }
  }
  ReportScore(correct)
}
/script

第2步、把如下代码加入 body 区域中。
  table width="75%" border="0" align="center"
  tr
  td
  form center
网络测试题 /center p
(1)Internet上使用的网络协议是:__________
br
input type="radio" name="q1" value="0" checked X.25
input type="radio" name="q1" value="1" TCP/IP
input type="radio" name="q1" value="0" NetBEUI
br br /form
form
(2)HUB是指:__________
br
input type="radio" name="q1" value="0" checked 网桥
input type="radio" name="q1" value="1" 集线器
input type="radio" name="q1" value="0" 网关
input type="radio" name="q1" value="0" 路由器
br Br /form
form
(3)JAVA是哪个公司的产品:__________
br
input type="radio" name="q1" value="0" checked Novell
input type="radio" name="q1" value="0" Microsoft
input type="radio" name="q1" value="1" SUN
br Br /form
form
(4)IIS(Internet Information Server)是哪个公司的产品:__________
br
input type="radio" name="q1" value="0" checked Novell
input type="radio" name="q1" value="1" Microsoft
input type="radio" name="q1" value="0" Netscape
br Br /form
form
  div align="center"
  input type="button" name="Submit" value="交答卷"
 
  /div
  /form
  /td
  /tr
/table
  下面的这个例子只有4道题目,如果你想增加题目的话,先把第二行的
var Total_测试题 =4 中的 4 改为你增加题目后题目的总数。然后,从程序
的第六行开始输入各题的正确答案,格式为:
Solution[题目序号值减1] = "在此输入该题的正确答案"
如果是第1题,中括号内就是0,如果是第100题,中括号中就应输入99。添加题目
是从上述第2步第7行程序开始的,格式为:
(在此输入题目序号)在此输入测试题目:__________
br
input type="radio" name="q1" value="0" checked 在此输入 选项一
input type="radio" name="q1" value="1" 在此输入 选项二
input type="radio" name="q1" value="0" 在此输入 选项三
br br /form
form
错误选项前的 value 值为0,正确选项前的 value 值为1。

 
(文/微世推-王华)
免责声明
• 
本文仅代表发布者:微世推-王华个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,需自行承担相应责任。涉及到版权或其他问题,请及时联系我们删除处理邮件:weilaitui@qq.com。
 

Copyright©2015-2025 粤公网安备 44030702000869号

粤ICP备16078936号

微信

关注
微信

微信二维码

WAP二维码

客服

联系
客服

联系客服:

24在线QQ: 770665880

客服电话: 020-82301567

E_mail邮箱: weilaitui@qq.com

微信公众号: weishitui

韩瑞 小英 张泽

工作时间:

周一至周五: 08:00 - 24:00

反馈

用户
反馈