<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>
<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>
函数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;
}这样问题终于得到解决。十分感谢天外水火!