比较笨的一个方法:
<html>
<body>
<script language="javascript">
var standed_answer = new Array(new Array('b','c'));//答案采用数组封装
function get_record(){
var num = document.forms.length;//题目的个数 //alert(num);
for(var i=0; i<num; i++){
var pos = 0,client_answer = new Array();
for(var j=0; j<document.forms[i].length; j++){
if(document.forms[i][j].checked){
client_answer[pos] = document.forms[i][j].value;
pos++;
}
}
if(pos != standed_answer[i].length){
alert("答案是错误的!");
return false;
}else{
for(var m=0; m<pos; m++){
if(client_answer[m] == standed_answer[i][m]){
continue;
}else{
alert("答案错误!");
return false;
}
}
alert("答案是正确的!");
return true;
}
}
}
</script>
多项选择题:<br>
1.一年可能有多少天?<br>
<form id="item1">
A.<input type="checkbox" id="check1" value="a">364<br>
B.<input type="checkbox" id="check2" value="b">365<br>
C.<input type="checkbox" id="check3" value="c">366<br>
D.<input type="checkbox" id="check4" value="d">367<br>
</form>
<form id="item2">
</form>
<center><input type="button" value="判卷" onclick="get_record()"></center>
<body>
</html>
<html>
<body>
<script language="javascript">
var standed_answer = new Array(new Array('b','c'));//答案采用数组封装
function get_record(){
var num = document.forms.length;//题目的个数 //alert(num);
for(var i=0; i<num; i++){
var pos = 0,client_answer = new Array();
for(var j=0; j<document.forms[i].length; j++){
if(document.forms[i][j].checked){
client_answer[pos] = document.forms[i][j].value;
pos++;
}
}
if(pos != standed_answer[i].length){
alert("答案是错误的!");
return false;
}else{
for(var m=0; m<pos; m++){
if(client_answer[m] == standed_answer[i][m]){
continue;
}else{
alert("答案错误!");
return false;
}
}
alert("答案是正确的!");
return true;
}
}
}
</script>
多项选择题:<br>
1.一年可能有多少天?<br>
<form id="item1">
A.<input type="checkbox" id="check1" value="a">364<br>
B.<input type="checkbox" id="check2" value="b">365<br>
C.<input type="checkbox" id="check3" value="c">366<br>
D.<input type="checkbox" id="check4" value="d">367<br>
</form>
<form id="item2">
</form>
<center><input type="button" value="判卷" onclick="get_record()"></center>
<body>
</html>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货