<input name=radio1 type=radio>
<input name=radio1 type=radio>
<input name=radio1 type=radio>
<input name=radio1 type=radio>
<input name=button1 type=button value="检查" onclick=haha()>
<script language=javascript>
function haha()
{
var obj=document.getElementsByName("radio1")
var objlength=obj.length;
var falg=0;
for(var i=0;i<objlength;i++)
{
if(obj[i].checked)
{
falg=1;
break;
}
}
if(falg==0)
{
alert("没选");
return false;
}
else
{
//提交表单
}

}
</script>

解决方案 »

  1.   

    <input type="radio" name="<%=questID%>" value="<%=itemID%>"><%=itemName%>如上,在我的jsp页面中,单选按钮的name属性、value属性等都是从数据库中获得的,所以:var obj=document.getElementsByName("radio1")
    函数document.getElementsByName()的参数不是固定的,不过我由此得到启发,在我的jsp页面每个问题后面添加了一个元素:
    <input type="hidden" name="quest" value="<%=questID%>" >,把每个问题中单选按钮或复选框的name属性保存到隐藏域中,在js函数中:function check(){ 
        var quests=document.getElementsByName("quest");      //获得所有隐藏域,每个问题对应一个
        var questnum=quests.length;
        for(var i=0;i<questnum;i++){                         //遍历每个问题
    var questid=quests[i].getAttribute("value");   //隐藏域的value属性,也就是每个问题单选、复选按钮的name属性
    var options=document.getElementsByName(questid);    //获得所有选项
    var optionnum=options.length;
    var flag=0;
    for(var j=0;j<optionnum;j++){                   //遍历每个选项
        if(options[j].checked){
    flag=1;
    break;
        }
    }
    if(flag==0){
        alert("您有问题没回答!");
        return false;
    }
        }
        return true;
    }这样问题终于得到解决。十分感谢天外水火!