最近在做asp程序的时候,遇到一个问题。即recordset分页后,显示的时候为每行记录人为增加一个单选按钮以便选中后删除该记录,但当记录数=1或>1时,需要获知控件的个数,以下提供两种解决方法,其中方法2非常好。
当记录数>1时,可通过遍历相同name属性的按钮集合来遍历
如:
<input type="radio" name="select" value="1" />
<input type="radio" name="select" value="2 />
<input type="radio" name="select" value="3" />
当记录数=1时,只判断单个按钮的状态
如:
<input type="radio" name="select" value="1" />
解决方法1:
<script language="javascript">
function del(frm)
{
for(i=0;i<frm.select.length;i++)
{
if(frm.select[i].checked)
{
break;
}
}
if(i==frm.select.length && i>0)
{
alert('未发现选中项!');
return;
}
else if(frm.select.length==undefined && (!frm.select.checked))
{
alert('未发现选中项!');
return;
}
if(window.confirm('是否删除该条记录?'))
{
frm.submit();
}
}
</script>
解决方法2:
通过 document 对象下的两个方法都可获得一个集合,然后遍历该集合即可
getElementsByName | 根据 NAME 标签属性的值获取对象的集合。 |
getElementsByTagName | 获取基于指定元素名称的对象集合。 |
例:
var a = document.getElementsByTagName("input");
for (var i=0; i<a.length; i++)
if (a[i].type == "radio") a[i].checked = false;