CHECKBOX 控件全选功能 ,一个控件全选出错,多个可用,VBSCRIPT脚本,高手请进

dhf131 2004-01-08 12:56:09
<BODY><CENTER><B><B><CENTER>
<FORM action="" method=POST id=form1 name=form1>
每页打印件数<INPUT TYPE="TEXT" ID="PrnType" NAME="PrnType" SIZE=2 VALUE="20" MaxLength=2>
<INPUT TYPE="BUTTON" id="btnAllSel" name="btnAllSel" class=but Value="全部选择" OnClick="SelectAll();">
<INPUT TYPE="BUTTON" id="btnSubmit" name="btnSubmit" class=but Value="提 交">
<INPUT TYPE="BUTTON" id="btnReturn" name="btnReturn" class=but Value="返 回">
<HR>
<TABLE><TR><TD><INPUT TYPE='CHECKBOX' name='chkRecordID' id='chkRecordID' value='1'>1</TD></TR></TABLE>
<INPUT TYPE=hidden name=txtall value=0>
</FORM>
<SCRIPT LANGUAGE=Vbscript>
<!--


'-------------------------------------------------------------------
'返回主菜单
Sub btnReturn_OnClick
document.url = "PostSealIndex.Asp"
End Sub
'判断打印记录数
Sub PrnType_OnBlur
If document.form1.PrnType.value > 20 Or document.form1.PrnType.value < 8 Then
MsgBox "打印记录条数有误,限于8-20之间"
document.form1.PrnType.focus
document.form1.PrnType.select
Exit Sub
End If
End Sub
'---------------------表单实现全选功能Vbscript脚本 -------------------
Sub SelectAll()
'判断隐藏文本框当前值
If document.form1.txtall.value = 0 Then
'表单中的所有单选框数量 是否大于1
If document.form1.chkRecordID.length>=2 Then
'进行循环 表单中所有单选框
For i = 0 To document.form1.chkRecordID.length-1
'所有单选框选中
document.form1.chkRecordID(i).checked = True
Next
Else
'单个单选框选中
document.form1.chkRecordID.checked = True
End If
'隐藏文本框置1
document.form1.txtall.value = 1
Else
If document.form1.chkRecordID.length>=2 Then
For i = 0 To document.form1.chkRecordID.length-1
'所有单选框选空
document.form1.chkRecordID(i).checked = False
Next
Else
'单个单选框选空
document.form1.chkRecordID.checked = False
End If
'隐藏文本框置0
document.form1.txtall.value = 0
End If
End Sub
'----------------------------------------------------------------------
-->
</SCRIPT>
</BODY>
</HTML>
...全文
54 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dhf131 2004-01-08
  • 打赏
  • 举报
回复
dhf131 2004-01-08
  • 打赏
  • 举报
回复
谢谢
kirc 2004-01-08
  • 打赏
  • 举报
回复
getElementsByName Method
--------------------------------------------------------------------------------

Retrieves a collection of objects based on the value of the NAME attribute.

Syntax

collObjects = document.getElementsByName(sNameValue)

Parameters

sNameValue Required. String that specifies the value of a NAME attribute.

Return Value

Returns a collection of objects with the same NAME attribute value.

Remarks

When you use the getElementsByName method, all elements in the document that have the specified NAME attribute value are returned.

Elements that support the NAME attribute are included in the collection returned by the getElementsByName method, but not elements with a NAME expando.

office中的帮助文件,如果没有可能是Fontpage的补丁里的,到微软去down
文件名叫:htmlref.chm
dhf131 2004-01-08
  • 打赏
  • 举报
回复
谢谢楼上高手指点,搞定 如方便 请解释getElementsByName 和 item 用法。
kirc 2004-01-08
  • 打赏
  • 举报
回复
刚才理解错了。。。Try this

'---------------------表单实现全选功能Vbscript脚本 -------------------
Dim txtall : txtall = false
Sub SelectAll()
'判断隐藏文本框当前值
If not txtall Then
For i = 0 To document.getElementsByName("chkRecordID").length - 1
'所有单选框选中
document.getElementsByName("chkRecordID").item(i).checked = True
Next
txtall = true
document.form1.btnAllSel.value = "全部取消"
Else
For i = 0 To document.getElementsByName("chkRecordID").length - 1
'所有单选框选空
document.getElementsByName("chkRecordID").item(i).checked = False
Next
txtall = false
document.form1.btnAllSel.value = "全部选择"
End If
End Sub
'----------------------------------------------------------------------
dhf131 2004-01-08
  • 打赏
  • 举报
回复
上述方法适用表单中有两个以上选择框,单个选择框则报错
kirc 2004-01-08
  • 打赏
  • 举报
回复
'---------------------表单实现全选功能Vbscript脚本 -------------------
Dim txtall : txtall = false
Sub SelectAll()
'判断隐藏文本框当前值
If not txtall Then
'表单中的所有单选框数量 是否大于1
If document.form1.chkRecordID.length>=2 Then
'进行循环 表单中所有单选框
For i = 0 To document.form1.chkRecordID.length-1
'所有单选框选中
document.form1.chkRecordID(i).checked = True
Next
Else
'单个单选框选中
document.form1.chkRecordID.checked = True
End If
'隐藏文本框置1
txtall = true
document.form1.btnAllSel.value = "全部取消"
'document.form1.txtall.value = 1
Else
If document.form1.chkRecordID.length>=2 Then
For i = 0 To document.form1.chkRecordID.length-1
'所有单选框选空
document.form1.chkRecordID(i).checked = False
Next
Else
'单个单选框选空
document.form1.chkRecordID.checked = False
End If
'隐藏文本框置0
txtall = false
document.form1.btnAllSel.value = "全部选择"
'document.form1.txtall.value = 0
End If
End Sub
'----------------------------------------------------------------------
dhf131 2004-01-08
  • 打赏
  • 举报
回复
能用VBSCRIPT实现吗
lbd8848 2004-01-08
  • 打赏
  • 举报
回复
是不是这样
<script>
function checkall(form)
{
for (var i=0;i<form.elements.length;i++)

{
var e = form.elements[i];
e.checked= !e.checked;
}
}
</script>
<form>
<input type=checkbox name=1>5
<input type=checkbox name=1>5
<input type=checkbox name=1>5
<input type=checkbox name=1>5
<input type=checkbox name=1>5
<input type=button value="选取" onclick="checkall(this.form)">
</form>

28,407

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧