shencheng000000
2009-11-16 19:51 阅读 278
已采纳

JSP在线考试系统得到用户提交答案

前段时间用MVC做了个在线考试系统, 前台主要是用户登陆后选择科目参加考试,所有的题目都是从LIST里用标签动态遍历出来,都是单选框(单选题),每组题name一样,每个题有个唯一的正确答案,在用户交卷后如何得到用户提交的答案? 想了几个解决方案:

1、用ajax,对ajax研究不深,虽然是解决这个的最好办法,但是没去研究,有

2、一道题目一道题目提交,这样做是简单的,但是也是最繁琐的,因为每做一次提交一次,如果访问量大的话服务器负担会很大,而且也不敢保证用户的耐心,不支持用这个方法

3、用JAVAScript,分页提交,先把题目分页显示,比如数据库有200道题目,每页10道题目,这样在Script中array数组长度可以定义为10,每次点击单选框时通过name去得到相应的值

//定义全局arr
var arr = new Array("","","","","","","","","","");
function setkey1(name){
    arr[1] = name;
         count();
}
function setkey2(name){
    arr[2] = name;
         count();
}
function setkey3(name){
    arr[3] = name;
         count();
}
function setkey4(name){
    arr[4] = name;
         count();
}
function setkey5(name){
    arr[5] = name;
         count();
}
function setkey6(name){
    arr[6] = name;
         count();
}
function setkey7(name){
    arr[7] = name;
         count();
}
function setkey8(name){
    arr[8] = name;
         count();
}
function setkey8(name){
    arr[9] = name;
         count();
}

function setkey8(name){
    arr[10] = name;
         count();
}
//每一组单选框调用一个方法,将本身的value传进去赋给arr,调用count()方法拼接赋给box隐藏域
function count(){
    box.value =arr[0] +arr[1] +arr[2] +arr[3] +arr[4] +arr[5] +arr[6] +arr[7] +arr[8] +arr[9] +arr[10]; //box为一隐藏域
}




提交后在servlet中得到隐藏域的值即可。
提交后可由用户选择是否继续进行考试,不继续则计算总分,继续则显示下一页题目。

各位有更好的办法请多多指教!

 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    weixin_42519095 weixin_42519095 2009-11-24 19:58

    你可以在加载单选按钮时,给每个按钮设置一个值(比如a、b、c、d,正确的值为其中一个),提交或得所值,通过遍历,获得其中一个name的值在与对应的name的正确值相比较

    点赞 评论 复制链接分享
  • weixin_42519095 weixin_42519095 2009-11-24 19:46

    我也做过类似的,不过我是从数据库中按照预先设置的题目类型及题目数量动态随机读取,稍微复杂点

    点赞 评论 复制链接分享

相关推荐