一个小判卷系统

写的比较弱,只能处理50道以内的选项为A-D的单选题,正确答案自己输进去,必须要大写,不能有空格和逗号,提交会出分,错误的题号和答案会console.log()出来.

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<style type="text/css">

.rowline{

width: 470px;

margin:10px 0 0 150px;

overflow: hidden;

}

.answer{

width: 70px;

height: 33px;

margin: 10px 0 0 5px;

float: left;

background: lemonchiffon;

}

.num{

width: 70px;

height: 30px;

margin: 5px 0  5px;

float: left;

text-align: center;

line-height: 30px;

font-weight: bold;

font-size: 20px;

border: none;

resize: none;

background: lightblue;

}

p{

font-size: 30px;

font-weight: bold;

margin-left: 150px;

}

#solution #btn{

width:70px;

height: 30px;

background: lightblue;

font-size: 20px;

margin:20px 0 0 530px;

}

</style>

</head>

<body>

<p>学生答案:</p>

<form action="#" id="solution">

<div class="rowline">

<textarea name="txt" class="num">1~5:</textarea>

</div>

<div class="rowline">

<textarea name="txt" class="num">6~10:</textarea>

</div>

<div class="rowline">

<textarea name="txt" class="num">11~15:</textarea>

</div>

<div class="rowline">

<textarea name="txt" class="num">16~20:</textarea>

</div>

<div class="rowline">

<textarea name="txt" class="num">21~25:</textarea>

</div>

<div class="rowline">

<textarea name="txt" class="num">26~30:</textarea>

</div>

<div class="rowline">

<textarea name="txt" class="num">31~35:</textarea>

</div>

<div class="rowline">

<textarea name="txt" class="num">36~40:</textarea>

</div>

<div class="rowline">

<textarea name="txt" class="num">41~45:</textarea>

</div>

<div class="rowline">

<textarea name="txt" class="num">46~50:</textarea>

</div>

<input type="button" id="btn" value="提交" />

</form>

</body>

</html>

<script type="text/javascript">

var rowline = document.getElementsByClassName("rowline");

var solution = document.getElementById("solution");

var btn = document.getElementById("btn");

var count = 0;

for (var i = 0 ; i < rowline.length ; i++) {

for (var j = 0 ; j < 5 ; j++) {

adds();

}

}

//创建下拉选项函数

function creatOption(op){

var group = document.createElement("option");

group.value = op;

group.innerHTML = op;

return group;

}

//创建添加下拉框函数

function adds(){

var selectBox = document.createElement("select");

selectBox.className = "answer";

var valueA = creatOption("A");

selectBox.appendChild(valueA);

var valueB = creatOption("B");

selectBox.appendChild(valueB);

var valueC = creatOption("C");

selectBox.appendChild(valueC);

var valueD = creatOption("D");

selectBox.appendChild(valueD);

rowline[i].appendChild(selectBox);

}

var confirmResult = null;

var result1 = null;

var result2 = null;

var result3 = null;

var result4 = null;

var result5 = null;

//输入并判断答案函数

function writeIn(){

result1 = prompt("请输入1~10选择题的答案(使用大写)");

result2 = prompt("请输入11~20选择题的答案(使用大写)");

result3 = prompt("请输入21~30选择题的答案(使用大写)");

result4 = prompt("请输入31~40选择题的答案(使用大写)");

result5 = prompt("请输入41~50选择题的答案(使用大写)");

confirmResult = confirm("请确认"+"\n1~10的答案:"+result1 +"\n11~20的答案:"+result2+"\n21~30的答案:"+result3+"\n31~40的答案:"+result4+"\n41~50的答案:"+result5);

}

//布局结束后再输入答案并判断

window.addEventListener("DOMContentLoaded",function(){

writeIn();

if (confirmResult) {

var result = result1+ result2 + result3 + result4 + result5 ;

var mySelect = document.getElementsByClassName("answer");

btn.onclick = function(){

count = 0;

console.log("");

for (var i = 0 ; i < mySelect.length ; i++) {

var index = mySelect[i].selectedIndex;

var self = mySelect[i].options[index].value;

var correct = result.charAt(i);

if (self == correct) {

count = count + 2 ;

}else{

console.log("错误答案 "+(i+1)+":"+self);

}

}

alert("分数是"+count);

}

}else{

writeIn();

}

},false);

</script>

时间: 2024-10-13 09:25:29

一个小判卷系统的相关文章

一步步手动构建一个小的linux系统

前提: 1.一个作为宿主机的Linux:本文使用的是Redhat Enterprise Linux 5.8: 2.在宿主机上提供一块额外的硬盘座位新系统的存储盘,为了降低复杂度,这里添加使用一块IDE接口的新硬盘: 3.linux内核源码,busybox源码:本文使用的是目前最新版的Linux-2.6.38.5和busybox-1.20.2. 一.为系统上的新硬盘建立分区,这里根据需要先建立一个大小为100M的主分区作为新建系统的Boot分区和一个512M的分区作为目标系统(即正在构建的新系统,

一个小的投票系统

文件http://files.cnblogs.com/files/liuwenbohhh/vote.zip index.php <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/

一个小的考试系统 android 思路

假如有 100 组,每组有4个单选钮,设置超时检测确认后去测结果估分视图去切换,如果还有,就再显示下一组 所有结束就给个总结显示 有超时结束过程加上 提示正确选项按钮 最后记录本次测试的 结果 用时 浏览错误部分 后续 可以查看历史的 错误的记录

基于宿主机制作一个小系统

一.Linux系统的启动流程 1.启动程序 Linux系统的启动流程为:POST-->BIOS(BootSequence)-->MBR(bootloader,446)--> Kernel-->initrd-->(ROOTFS)/sbin/init(/etc/inittab). 首先上电自检POST:它负责完成对CPU.主板.内存.软硬盘子系统.显示子系统(包括显示缓存).串并行接口.键盘.CD-ROM光驱等的检测.主要检查硬件的好坏. 紧接着就是BIOS进行硬件相关初始化,之

一个小程序能够反映的能力

程序员小郑刚步入岗位,但是在公司编码过程中没有受到专业的编码规范的培训,编写出来的程序虽然能够完成指定的功能但是比较不统一,偶尔会别出心裁的设计出自己的简化方法.老王这是从事了软件编码十多年了,现在都快到不惑的年龄了,在软件行业摸爬滚打十多年从事过多个行业,接触过不同公司的编码的规范,在软件代码编写中有独到的认识. 有一天有一个小功能的改动,由于这是一个非常重要的基础系统的功能变动,所以即便是一个小的功能变动公司上上下下都投入了非常高的重视程度.这天老王找到小郑告诉了需要修改这个系统并详细的描述

搭建一个redis高可用系统

一.单个实例 当系统中只有一台redis运行时,一旦该redis挂了,会导致整个系统无法运行. 单个实例 二.备份 由于单台redis出现单点故障,就会导致整个系统不可用,所以想到的办法自然就是备份(一般工业界认为比较安全的备份数应该是3份).当一台redis出现问题了,另一台redis可以继续提供服务. 备份 三.自动故障转移 虽然上面redis做了备份,看上去很完美.但由于redis目前只支持主从复制备份(不支持主主复制),当主redis挂了,从redis只能提供读服务,无法提供写服务.所以

先做一个“小程序”——关于微信应用号的六大猜想

先做一个“小程序”——关于微信应用号的六大猜想 9月 21 日,苦等了9个多月的时间,应用号终于与我们见面了,命名为「小程序」. 01 为什么推出小程序? 考虑到小程序对整个APP市场的影响,毫无疑问会对现有的APP生态带来一定的冲击.但是,之所以推出小程序,最直接的原因可能是为了构建和扩充微信生态链,让微信更具开放性. 如我们所知,目前微信公众号分为三类: • 服务号,连接人和商品,目前很多电商企业,以及在微信端提供产品和服务的企业都用服务号. • 订阅号,微信官方的定位是阅读,连接人和资讯的

FMX相当于在界面上自己又做了一个小操作系统

FMX的自画界面我也不看好,比如复制粘贴,太丑了,系统做得很好很精细的复制粘贴界面,就是无法调出,比如MIUI,复制粘贴还能有个放大镜,可以选择到屏幕边缘的文字,可以选择剪贴板内多个可粘贴的文字:还有那个Memo,有的时候该折行的不折行,有的文字看不到了.文本输入框,隐藏剪贴板后,再点击就弹不出来了:系统本身的文本框就没有这个问题.底部输入框输入时自动上移界面,好像是操作系统本身就有的吧,FMX还得自己编很多代码,也不一定编好.自己编码补漏洞是另外一回事.FMX给我的感觉是在界面上自己又做了一个

Word 2003安装时的一个小问题

Word2003安装时的一个小问题 今天给一个老师安装软件,出现了这个问题? 系统管理员设置了系统策略,禁止进行此安装. 解决方法 开始-运行-regedit 在注册表项里找到下面这个选项: HKEY_CLASSES_ROOT\Installer\Products\4080110900063D11C8EF10054038389C 将这项删除.再进行安装就可以了.