<form name="frm1" action="1.htm" method="post" onSubmit="return checkForm()">
<input type="checkbox" name="chk">111111111<br>
<input type="checkbox" name="chk">222222222<br>
<input type="checkbox" name="chk">333333333<br>
<input type="checkbox" name="chk">444444444<br>
<input type="checkbox" name="chk">555555555<br>
<input type="checkbox" name="chk">666666666<br>
<input type="checkbox" name="chk">777777777<br>
<input type="radio" name="rdo">888888888<br>
<input type="radio" name="rdo">999999999<br>
<input type="radio" name="rdo">000000000<br>
<input type="submit">
</form>
<SCRIPT LANGUAGE="JavaScript">
<!--
function checkForm() {
var flagC=false;
var flagR=false; for(i=0;i<frm1.chk.length;i++) {
if(frm1.chk[i].checked) {
flagC=true;
}
} for(j=0;j<frm1.rdo.length;j++) {
if(frm1.rdo[j].checked) {
flagR=true;
}
} if(!flagC) {
alert("checkbox一个也没选!");
return false;
}
if(!flagR) {
alert("radio一个也没选!");
return false;
}
}
//-->
</SCRIPT>

解决方案 »

  1.   

    如下,每道题目后面的input都取相同的name,对于单选按钮,在服务器端得到的就是其选中的value,对于复选按钮,得到的是一个数组
    对于单选按钮,你可以先指定一个默认选项以减少判断,但下面的方法对于二者都实用
    <form name="form1" action="1.htm" method="post" onSubmit="return checkForm()">
    <table>
    <tr><td>题目1:</td>
    <td><input type="checkbox" name="ques1">选择1</td>
    <td><input type="checkbox" name="ques1">选择2</td>
    </tr>
    <tr><td>题目2:</td>
    <td><input type="checkbox" name="ques2">选择1</td>
    <td><input type="checkbox" name="ques2">选择2</td>
    <td><input type="checkbox" name="ques2">选择3</td>
    </tr>
    <tr><td>题目3</td>
    <td><input type="radio" name="ques3" checked>选择1</td>
    <td><input type="radio" name="ques3">选择2</td>
    </tr>
    </table>
    <input type="submit">
    </form>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function checkForm() {
    for(i=1;i<=10;i++) {
                var flag=false;
                var obj=eval("form1.ques"+i);
                for(j=0;j<obj.length;j++)
                   if(obj[j].checked){
                       flag=true;
                       continue;
                   }
                if(!flag){
                       alert("您还未对题目"+i+"做出选择!");
                       return false;
                }
           
           }
           return true;
    }
    //-->
    </SCRIPT>