以下的JS代码,其功能是,对给出的单选题能根据事先设置好的答案,对用户所选择的项进行判断,给出对错提示。下面的代码,你什么也不用修改,复制后保存成为HTML文件双击运行即可,注意,打开的时候,一定要允许阻止的内容,否则看不到效果。
<script>
//开始制作单选题目答案
var myArray=new Array()
myArray[0]="1"
myArray[1]="2"
myArray[2]="3"
//单选题目答案制作结束
</script>
<body>
<form name="myform">
<p>第一题:题目省略</p>
<p>A、答案 B、答案 C、答案 D、答案</p>
<p>答案选择
<select name="select">
<option>选择答案</option>
<option>A</option>
<option>B</option>
<option>C</option>
<option>D</option>
</select>
</p>
<p>第二题:题目省略</p>
<p>A、答案 B、答案 C、答案 D、答案</p>
<p>答案选择
<select name="select">
<option>选择答案</option>
<option>A</option>
<option>B</option>
<option>C</option>
<option>D</option>
</select>
</p>
<p>第三题:题目省略</p>
<p>A、答案 B、答案 C、答案 D、答案</p>
<p>答案选择
<select name="select">
<option>选择答案</option>
<option>A</option>
<option>B</option>
<option>C</option>
<option>D</option>
</select>
</p>
<input type="checkbox" name="checkbox1" value="checkbox" onclick="Mycheck();"/>
评卷
</p>
</form>
<script>
function Mycheck(){
var checkbox1=document.forms["myform"]["checkbox1"];
if(checkbox1.checked)
{
CheckExam();
}
}
function CheckExam(){
var Myselect=document.myform.select;
for (i=0;i<Myselect.length;i++)
{
//alert(Myselect[i].selectedIndex);
if(Myselect[i].selectedIndex != parseInt(myArray[i]))
{
alert("第" + (i+1) + "题答错了")
}
}
}
</script>
代码分析:
①设置答案
<script>
//开始制作单选题目答案
var myArray=new Array()
myArray[0]="1"
myArray[1]="2"
myArray[2]="3"
//单选题目答案制作结束
</script>
使用数组来保存答案,第几题的答案分别保存在myArray[0]myArray[1]myArray[2]…里面,注意myArray[0]保存的是第一题答案,其它依此类推。
②对选项进行判断
对用户所选的答案进行判断,是通过如下的函数来完成的。
function CheckExam(){
var Myselect=document.myform.select;
for (i=0;i<Myselect.length;i++)
{
//alert(Myselect[i].selectedIndex);
if(Myselect[i].selectedIndex != parseInt(myArray[i]))
{
alert("第" + (i+1) + "题答错了")
}
}
}
for (i=0;i<Myselect.length;i++)代表的是遍历所有的选项。
if(Myselect[i].selectedIndex != parseInt(myArray[i]))根据所选择的项的索引值,对比答案,给出判断。