写的比较弱,只能处理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>