利用ASP+XML架设在线考试系统
利用ASP + XML 架设在线考试系统
<-------------此程序非本人原创--------> 使用这个在线的考试系统,我们能处理任何类型在线测试。 尽管我们一般是用传统方式实现,读者非常希望将。 如果从总体上考虑。 所有问题都储存在服务器( 它可能在数据库里) 里面的的xml 文件里。 用户准备花费考试,然后用户测试的通体将通过微软的XML HTTP 组件传送到浏览器。 使用同一个XML HTTP 组件,每当用户请求一个问题的时候,那些问题内容被从服务器解释并且显示在页上。 对用户的任何问题,你所选择的答案会被储存在客户端。 一次考试的持续时间是5 分钟。 没有回答不了,你可以使用NEXT回答下洋问题。 一旦用户启动考试,所有问题目录将来自服务器。 所给问题的Id 每请求到服务器以来在内目录在客户拿给并且给服务器派内储存。 服务器将返回问题内容,符合问题Id,从xml 文件。 当用户选择任何一个答案时,体制将在那些应答表里储存和在在客户边里的选择表里。 用户最后已经选择的正确的答案,应答表用来并不地检查。 选择表在那里是以便系统将自动选择用户已经选择了的选择 ( 例如用户点击以前的按钮) 考试将结束或者用户点击终结按钮或者首先来,时间( 例如5 分钟) 结束。 关于终结,系统将计算并不右边答案的并且展示它。 那些以下的文件被在在线的考试系统里使用: OLExam.html <html> <script> var objXmlHTTP,objXmlDOM; var aQuest; //to store question ids var aAnswer = new Array(); // to track the result var aSelected = new Array(); // to store user's response var count = 0; //to store the current question no var ansSel = 0; //to store user's selection var ExamDuration = 5 * 60 ; // 5 minutes var timerID; //to store the setInterval fun's id var radIndex = -1; //to store the selected radio's index //constructor like function //here XML objects are created and //No of questions as well as question ids list //are fetched from the server. function init(){ objXmlHTTP = new ActiveXObject("Microsoft.XMLHTTP"); objXmlDOM = new ActiveXObject("Microsoft.XMLDOM"); objXmlHTTP.open("POST","OLExam.asp?Action=Start",false); objXmlHTTP.send(""); temp =objXmlHTTP.ResponseText; aQuest = temp.split(","); //initialize the user's answers list for(i=0;i<aQuest.length; i++){ aAnswer[i] = 0; // 0 for wrong; 1 for right answer aSelected[i] = -1; // to store the radio's index } if(count < aQuest.length) { url = "OLExam.asp?Action=NextQ&QNo=" + aQuest[count]; objXmlHTTP.open("POST", url ,false); objXmlHTTP.send(""); objXmlDOM.loadXML(objXmlHTTP.ResponseText); //parse the response content fetched from the server //and display the question parseQ(); } //change the Start button's caption and its click event document.frm.btnFinish.value = "Finish the Exam"; document.frm.btnFinish.onclick = showResult; //function //start the timer timerID = setInterval("timer()",1000); } function getPreQ() { //update the user's answers list checkAnswer(); //decrement the question no - i.e. to previous Question count--; //stop the timer clearInterval(timerID); //fetch the question for the aQuest[count] id url = "OLExam.asp?Action=NextQ&QNo=" + aQuest[count]; objXmlHTTP.open("POST",url ,false); objXmlHTTP.send(""); objXmlDOM.loadXML(objXmlHTTP.ResponseText); //parse the response content fetched from the server //and display the question parseQ(); //start the timer timerID = setInterval("timer()",1000); 上一篇:使用asp实现支持附件的邮件系统(一) 下一篇:超长字符的智能分页-支持HTML 更多相关文章
|
推荐文章
精彩文章
|