首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

检查radio是否全选,该如何处理

2012-04-25 
检查radio是否全选做一个问卷系统,一个问卷至少有100个问题,每个问题都是单选,但要求问卷的所有问题都必须

检查radio是否全选
做一个问卷系统,一个问卷至少有100个问题,每个问题都是单选,但要求问卷的所有问题都必须回答,也就是把所有的radio都要选上,否则不让提交,那么如何用实现检查radio是否全选的功能呢?

[解决办法]
例:已测试!!
<input name="chk" type="checkbox"/>
<input name="chk" type="checkbox"/>
<input name="chk" type="checkbox"/>
<input name="chk" type="checkbox"/>
<input type="button" onclick="check();"/>

function check(){
var chkObj = document.getElementsByName("chk");
var selCount=0;
alert(chkObj.length);
for(var i=0;i<chkObj.length;i++){
if(chkObj[i].checked==true){
selCount++;
}
}
if(selCount==chkObj.length){alert("已经全选!");}else{alert("未全选!");}
}
[解决办法]

HTML code
<form action="http://www.csdn.net" onsubmit=" return  checkall();"   ><div class="subject"><h2>你喜欢吃的水果?</h2> <input type="radio" name="fruit" value="苹果" id="Radio1" /><label for="Radio1">苹果</label><input type="radio" name="fruit" value="香蕉" id="Radio2" /><label for="Radio2">香蕉</label><input type="radio" name="fruit" value="桔子" id="Radio3" /><label for="Radio3">桔子</label><input type="radio" name="fruit" value="梨" id="Radio4" /><label for="Radio3">梨</label></div><div class="subject"><h2>你喜欢的颜色?</h2> <input type="radio" name="color" value="红" id="Radio5" /><label for="Radio5">红</label><input type="radio" name="color" value="蓝" id="Radio6" /><label for="Radio6">蓝</label><input type="radio" name="color" value="绿" id="Radio7" /><label for="Radio7">绿</label><input type="radio" name="color" value="紫" id="Radio8" /><label for="Radio8">紫</label></div><div class="subject"><h2>你想去旅游的国家?</h2> <input type="radio" name="state" value="日本" id="Radio9" /><label for="Radio9">日本</label><input type="radio" name="state" value="美国" id="Radio10" /><label for="Radio10">美国</label><input type="radio" name="state" value="德国" id="Radio11" /><label for="Radio11">德国</label><input type="radio" name="state" value="英国" id="Radio12" /><label for="Radio12">英国</label></div><input type="submit" value="提交"   /></form>  <script type="text/javascript" >      function checkall() {          var divs = document.getElementsByTagName("DIV");          var ischeckall = true,ischeckone=false;          for (var i = 0; i < divs.length; i++) {              if (divs[i].className == "subject") {                  var radios = divs[i].getElementsByTagName("input");                  ischeckone = false;                  for (var j = 0; j < radios.length; j++) {                      if (radios[j].checked) { ischeckone = true; break; }                  }                  if (!ischeckone) {                      alert("您这一题还没有选择:" + divs[i].getElementsByTagName("H2")[0].innerHTML);                      return false;                   }                }           }           return true;      }  </script> 

热点排行