因为要通过循环输出查询出来的记录数,每个记录前面有个单选按钮radio
当单选按钮radio大于等于2个时,JS判断正常,当单选按钮radio只有一个时,无法进行“下一步”,提交“下一步”时不管是否选中这个按钮仍然被JS提示:“请选择要修改的记录!”
JS代码如下:
<script language="javascript" type="text/javascript">
<!--
function validate(){
var resualt=false;
for(var i=0;i<document.select.radio_select.length;i++)
{
if(document.select.radio_select[i].checked)
{
resualt=true;
}
}
if(!resualt)
{
alert("请选择要修改的记录!");
}
return resualt;
}
-->
</script>
表单代码如下:
<%
for i=1 to rs.recordCount '变量i从1循环到数据库中的全部记录数
if (i mod 1 =1) then '每个tr即每行显示1个记录
response.write "<tr align='center'>"
end if
%>
<form name="select" method="post" action="modify.asp" onSubmit="return(validate())">
<input type="radio" name="radio_select" value="<%=rs("lx_id")%>" />
<input type="submit" name="submit" value="下一步">
</form>
<%if (i mod 1 = 0) then '每个tr即每行显示1个记录
response.write "</tr>"
end if
rs.movenext
next
rs.close
%>
论坛的朋友 daxuejianku (无言的悲伤) 帮忙解决了JS的问题,将JS代码修改为如下代码后JS判断成功!
修正后的JS代码如下:
<script language="javascript" type="text/javascript">
<!--
function validate(){
var resualt=false;
var obj=document.getElementsByName("radio_select");
for(var i=0;i<obj.length;i++)
{
if(obj[i].checked)
{
resualt=true;
}
}
if(!resualt)
{
alert("请选择要修改的记录!");
}
return resualt;
}
-->
</script>