<p>多选题</p> <p>下列诗人是唐朝的是()</p> <input type="checkbox" id="a" name="ren" />A:李白<br> <input type="checkbox" id="b" name="ren"/>B:杜甫<br> <input type="checkbox" id="c" name="ren"/>C:苏轼<br> <input type="checkbox" id="d" name="ren"/>D:王国维<br> <input type="button" value="提交" id="show" onclick="a"/><br> <script type="text/javascript"> var show=document.getElementById("show"); var ren=document.getElementsByName("ren"); var ee="b"+"a"; function a(){ for(var i=0;i<ren.length;i++){ if(ren[i].checked){ ah=ren[i].value; } } if(ah==ee){ alert("答对了"); }else if(ah==""){ alert("还没有选择"); }else{ alert("答错了"); } } </script>这各程序为什么不能实现
时间: 2023-07-21 09:58:33 浏览: 79
使用<input>实现checkbox
这段代码不能实现多选题的判断,原因如下:
1. 变量ee的赋值应该是"b"+"a",而不是"b" + "a",因为选项B和选项A的id应该是连在一起的。
2. 在a()函数中,只有选中的选项的value值等于ee才会弹出"答对了"的提示,但这个判断条件是错误的。因为多选题中可以选择多个选项,所以应该将判断条件改为:选中的选项的value值包含ee。
3. 在html代码中,input元素的type属性应该是radio,而不是checkbox,因为多选题中只有一个选项是正确的。
4. 在html代码中,onclick事件应该是onclick="a()",而不是onclick="a",因为a是一个函数,需要加上括号才能调用。
阅读全文