日期:2014-05-16 浏览次数:20501 次
有的时候,我们需要对多组radio判断是否少选择了其中一组。比如,做稍微复杂一点的调查的时候。
而且,这种情况下,radio的组数还是不固定的,名称也是不固定的,没法直接判断各组radio是否都选择了。
通过如下js小代码可以实现判断。
?
<script type="text/javascript"> function checkSubmit() { var radioname; var arrRadio = new Array(); var inputs=document.getElementById("vote").getElementsByTagName("input"); for(var i=0;i<inputs.length;i++) { if(inputs[i].type=="radio"){ //这里将所有的radio根据name分组,便于之后按组判断是否选中(一组选中一个即可) if (radioname !=inputs[i].name){ arrRadio.push(inputs[i].name); radioname =inputs[i].name; } } } for (var i=0;i<arrRadio.length;i++) { var bRadio=false; for (var j=0;j<document.getElementsByName(arrRadio[i]).length;j++) { if (document.getElementsByName(arrRadio[i]).item(j).checked==true){ bRadio=true; continue; } } if (!bRadio){ alert("请仔细检查是否遗漏了调查选项!"); return false; } } var params = ""; for (var i=0;i<arrRadio.length;i++) { for (var j=0;j<document.getElementsByName(arrRadio[i]).length;j++) { if (document.getElementsByName(arrRadio[i]).item(j).checked==true){ if(params != "") { params = params +","; } //params += arrRadio[i] +"|"+document.getElementsByName(arrRadio[i]).item(j).value; params += document.getElementsByName(arrRadio[i]).item(j).value; continue; } } } } </script>
?
form后面用“onsubmit="return checksubmit();"”来调用这个js。