B服务器应用程序。有了ASP就不必担心客户的浏览器是否能运行所编写的代码,因为所 有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅 将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。 脚本是指嵌入到Web页中的程序代码,所使用的编程语言称为脚本语言。按照执行方式和位置的 不同,脚本分为客户端脚本和服务器端脚本。客户端脚本在客户端计算机上被Web浏览器执行,服务器 端脚本在服务器端计算机上被Web服务器执行。脚本语言是一种解释型语言,客户端脚本的解释器位 于web浏览器中,服务器脚本的解释器则位于Web服务器中。静态网页只能包含客户端脚本,动态网页 则可以包含客户端脚本和服务器端脚本。Active
Server
Pages带有两个脚本语言引擎:
VBScript和JavaS一
41
万方数据
第26卷
eripto
攀枝花学报
第3期
3
即时保存答案功能
在本考试系统中,题库中设置了单选、多选、判断、填空、问答5种题型。当考生登录进入考试后,单
选和判断题可选项将以单选框的形式显示,多选题可选项将以复选框的形式显示,填空和问答题答题将 以文本区域的形式显示。 即时保存答案是考生答题时通过对表单控件的操作触发相应事件来实现的。事件是用于指明执行 某项动作的条件,如鼠标移到对象上方、离开对象、单击对象都是事件。对于单选题,多选题和判断题作 答是通过按钮的onclick事件,即当鼠标单击时触发,对于填空题,是通过onchange事件,即当文本区域中 的内容发生改变后。当鼠标单击其它任何地方时触发,当发生事件后,调用用JavaScript编写的saveAn- swer函数,以this作参数。下面列出了对于单选题A选项的显示及相应处理代码。其它选项处理和它类
似。
if
rsTest(”optionl”)<>””then
response.write” A <input if
name=”&rsTest(”id”)&”“。
rsTest(”answer”)=l
then
response。write”checked”
end if
response.write”onClick="saveAnswer(this);7 type="radio’value=1。>”&rsTest(” optionl”)
response.write”<br>” end if
上述代码的第3行和第4行是保证如果考生已经选择了该题的答案A,但发生意外再重新登录后, 仍会显示A处于选中状态。当考生点击A选项的单选框后,触发onclick事件,执行saveanswer函数。在 saveAnswer函数中,再执行相应的页面处理程序对用户的答题信息作处理。在这里又分成三种情况:对 于单选题和判断题较为简单,通过调用window.open(1est—saveanswer.asp?answer=7+objAnswer.value +Rid=’+objAnswer.name,fraSaveAnswer')进行处理,fraSaveAnswer是在显示试题页面中定义的一个 隐藏的浮动帧。而对于多选题则分为是选中和取消选中两种情况,若是选中,则执行window.open(test—
saveanswer.asp?action=selected&answer=’+objAnswer.value+位id=7+objAnswer.name.fraSaveAn-
swer!),否则执行:window.open(test_saveanswer.asp?action=selectcaneel&answer=’+objAnswer.value+ &id=7+objAnswer.name,fraSaveAnswer)。对于填空题和问答题,则执行window.open(test—savean—
swer.asp?type=2&answer=’+objAnswer.value+&id=’+objAnswer.nallle,fraSaveAnswer!)。save—
Answer代码如下所示
function
saveAnswer(objAnswer)
{
if(objAnswer.type==宅heckbox!)//多选题分为选中或取消选中两种操作
if(ohjAnswer.checked==true)
,
window.open(test—saveanswer.a