📄 exam.jsp
字号:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
<%@page import="java.util.ArrayList"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>在线考试</title>
<script type="text/javascript">
var xmlHttp;
var arr;
var a;
var rulearr;
var n=0;
var length=0;
var tishu;
var arrAnswer;
var flag="true";
var cometime;
function createHttpRequest(){
if(window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
}
function exam(testPaperNO){
document.getElementById("view").style.display="none";
alert(testPaperNO);
createHttpRequest();
xmlHttp.onreadystatechange=processClassromm;
alert("ok");
xmlHttp.open("GET","admins/exam/exam.html?method=getTestPaper&testPaperNO="+testPaperNO,true);
xmlHttp.send(null);
}
function processClassromm(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
var flag = true;
var lz=xmlHttp.responseText;
if(lz.indexOf("lz")!=-1){
alert(lz);
openwindow();
}else{
startclock();
cometime=new Date();
var a=lz.split("$");
arr=a[0].split("^");
rulearr=a[1].split("-");
tishu=arr.length;
arrAnswer=new Array(tishu);
init(0);
document.getElementById("d2").style.display="block";
}
}
}
}
function openwindow(){
window.open('<%=basePath%>admins/exam/examinee/noresult.jsp','_top');
}
function init(i){
if(flag=="true"){
chushihua(arrAnswer);
flag="false";
}
var strType=getArrQueType(arr);
arrQueType=strType.split("~");
var curren=0;
curren=i;
n=i;
length=arr.length;
var str=arr[curren];
res=str.split("~");
answer=res[3].split("#");
var jz="<table border='0'>";
if(res[0]==1){
for(j=0;j<arrQueType.length;j++){
if(res[1]==arrQueType[j]){
jz+="单项选择"+rulearr[0]+"<br>";
}
}
var radioA="";
var radioB="";
var radioC="";
var radioD="";
if(arrAnswer[curren].length!=0){
var arrcheck=arrAnswer[curren].split("@");
if(arrcheck[1]=="A"){
radioA="checked";
}else if(arrcheck[1]=="B"){
radioB="checked";
}else if(arrcheck[1]=="C"){
radioC="checked";
}else if(arrcheck[1]=="D"){
radioD="checked";
}
}
jz+="<br>"+res[1]+"."+res[2]+"<br>"+"A. <input type=radio name=answer "+radioA+" onmousedown=getRadioValue("+res[1]+",this) value='A'>"+answer[0]+" "+"B. <input type=radio name=answer "+radioB+" onmousedown=getRadioValue("+res[1]+",this) value='B'>"+answer[1]+"<br>"+"C. <input type=radio name=answer "+radioC+" onmousedown=getRadioValue("+res[1]+",this) value='C'>"+answer[2]+" "+"D. <input type=radio name=answer "+radioD+" onmousedown=getRadioValue("+res[1]+",this) value='D'>"+answer[3];
}else if(res[0]==2){
for(j=0;j<arrQueType.length;j++){
if(res[1]==arrQueType[j]){
jz+="多项选择"+rulearr[1]+"<br>";
}
}
var checkboxA="";
var checkboxB="";
var checkboxC="";
var checkboxD="";
if(arrAnswer[curren].length!=0){
var arrcheck=arrAnswer[curren].split("@");
if(arrcheck[1].indexOf("A")!=-1){
checkboxA="checked";
}if(arrcheck[1].indexOf("B")!=-1){
checkboxB="checked";
}if(arrcheck[1].indexOf("C")!=-1){
checkboxC="checked";
}if(arrcheck[1].indexOf("D")!=-1){
checkboxD="checked";
}
}
jz+="<br>"+res[1]+"."+res[2]+"<br>"+"A. <input type=checkbox "+checkboxA+" value='A' onclick=getCheckBoxValue("+res[1]+",this)>"+answer[0]+" "+"B. <input type=checkbox value='B' "+checkboxB+" onclick=getCheckBoxValue("+res[1]+",this)>"+answer[1]+"<br>"+"C. <input type=checkbox value='C' "+checkboxC+" onclick=getCheckBoxValue("+res[1]+",this)>"+answer[2]+" "+"D. <input type=checkbox value='D' "+checkboxD+" onclick=getCheckBoxValue("+res[1]+",this)>"+answer[3];
}else if(res[0]==3){
for(j=0;j<arrQueType.length;j++){
if(res[1]==arrQueType[j]){
jz+="填空题<br>";
}
}
}else if(res[0]==5){
for(j=0;j<arrQueType.length;j++){
if(res[1]==arrQueType[j]){
jz+="问答题"+rulearr[2]+"<br>";
}
}
var text="";
if(arrAnswer[curren].length!=0){
var arrcheck=arrAnswer[curren].split("@");
text=arrcheck[1];
}
jz+="<br>"+res[1]+"."+res[2]+"<br>"+"<textarea cols=100 rows=20 name=textarea onblur=getTaValue("+res[1]+",this) >"+text+"</textarea>";
}
jz+="</table>";
document.getElementById("d1").innerHTML=jz;
}
function chushihua(arra){
for(k=0;k<arra.length;k++){
arra[k]="";
}
}
function go(){
tihao=n+1;
if(length-1==n){
alert("当前是最后一题!");
}else{
init(n+1);
}
}
function back(){
if(n==0){
alert("当前是第一题!");
}else{
init(n-1);
}
}
function getArrQueType(arrs){
var a=arrs[0].split("~");
k=a[0];
s=1;
var t=0;
for(j=0;j<arrs.length;j++){
arrQue=arrs[j].split("~");
m=arrQue[0];
if(m!=k){
t=1;
k=m;
x=j+1;
s=s+"~"+x;
}
}
if(t==0){
s=1+"~";
}
return s;
}
function getRadioValue(s,t) {
arrAnswer[s-1]=s+"@"+t.value;
}
function getAnswer(){
alert(arrAnswer.length);
for(i=0;i<arrAnswer.length;i++){
if(arrAnswer[i]==""){
var j=i+1;
var zh=arr[i].split("~");
arrAnswer[i]=j+"@"+" ";
}
alert(arrAnswer[i]);
}
var s=arrAnswer.join("-");
document.all.ans.value=s;
alert(s);
document.all.form1.submit();
<!-- document.form1.action="<%=path %>/admins/exam/exam.html?method=getAnswer&scoreStr="+s; -->
}
function getCheckBoxValue(s,t){
var checkScore="";
if(arrAnswer[s-1].length>0){
var anwarr=arrAnswer[s-1].split("@");
checkScore=anwarr[1];
}
if(t.checked){
if(checkScore.indexOf(t.value)==-1){
checkScore+=t.value;
}
}else{
if(checkScore.indexOf(t.value)!=-1){
checkScore=checkScore.replace(t.value,"");
}
}
arrAnswer[s-1]=s+"@"+checkScore;
}
function getTaValue(s,t){
arrAnswer[s-1]=s+"@"+t.value;
}
function checktime(){
var now=new Date();
var ile=now.getMinutes()-cometime.getMinutes();
if(ile<1){
alert("开考30分钟后,才能交卷");
return false;
}else{
return confirm("你确定要交卷吗?");
}
}
var timerID = null
var timerRunning = false
function MakeArray(size)
{
this.length = size;
for(var i = 1; i <= size; i++)
{
this[i] = "";
}
return this;
}
function stopclock (){
if(timerRunning)
clearTimeout(timerID);
timerRunning = false
}
function showtime () {
var now = new Date();
var year = now.getYear();
var month = now.getMonth() + 1;
var date = now.getDate();
var hours = now.getHours();
var minutes = now.getMinutes();
var seconds = now.getSeconds();
var day = now.getDay();
Day = new MakeArray(7);
Day[0]="星期天";
Day[1]="星期一";
Day[2]="星期二";
Day[3]="星期三";
Day[4]="星期四";
Day[5]="星期五";
Day[6]="星期六";
var timeValue = "";
timeValue += year + "年";
timeValue += ((month < 10) ? "0" : "") + month + "月";
timeValue += date + "日 ";
timeValue += (Day[day]) + " ";
timeValue += ((hours <= 12) ? hours : hours - 12);
timeValue += ((minutes < 10) ? ":0" : ":") + minutes;
timeValue += ((seconds < 10) ? ":0" : ":") + seconds;
timeValue += (hours < 12) ? "上午" : "下午";
<!-- document.jsfrm.face.value = timeValue; -->
document.getElementById("time").innerHTML="<h3><font color='white'>"+timeValue+"</font></h3>";
timerID = setTimeout("showtime()",1000);
timerRunning = true
}
function startclock () {
stopclock();
showtime();
}
function noKey(){
if(event.keyCode==78&&event.ctrlKey){
return false;
}
if(event.keyCode==115&&event.altKey){
window.showModelessDialog( "about:blank ", " ", "dialogWidth:1px;dialogheight:1px ");
return false;
}
}
</script>
</head>
<body bgColor=#99ccff leftMargin=0 topMargin=0 oncontextmenu= "window.event.returnValue=false " onkeydown="return noKey()">
<div id="view" style="display: block; margin-top: 50">
<TR>
<center>
<TD>
<FONT face=楷体_GB2312 color=#ffffff size=6>银河考试系统</FONT>
</TD>
</center>
</TR>
<br>
<br>
<center>
考场编号:
<bean:write name="checkInfoVO" property="check_id" />
<br>
<br>
考试科目:
<bean:write name="checkInfoVO" property="object_name" />
<br>
<br>
开始时间:
<bean:write name="checkInfoVO" property="check_begintime" />
<br>
<br>
结束时间:
<bean:write name="checkInfoVO" property="check_finishtime" />
<br>
<br>
<a
href='javascript:exam("<bean:write name="checkInfoVO" property="testPaper_no" />");'>进行考试</a>
<html:link forward="examlogin">退出</html:link>
</center>
</div>
<div align="right">
<span id="time" style="margin: 5"></span>
</div>
<div id="d1" style="margin-left: 15"></div>
<div style="margin-top: 320pt">
<form action="admins/exam/exam.html?method=getAnswer" method="post" name=form1
onsubmit="return checktime()">
<input type=hidden id=ans name=answer />
<div id="d2" style="display: none" align="right">
<input type=button value="上一题" onclick=back()>
<input type=button value="下一题" onclick=go()>
<input type=button value="交卷" onclick=getAnswer()>
</div>
</form>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -