当前位置: 首页 > 图文教程 > 网络编程 > ASP > 使用VBScript操作Html复选框(CheckBox)控件

ASP
asp实现取得数组中的最大值的代码
asp 将日期格式化为需要的格式
asp 下产生任意位数随机密码的代码
asp下返回以千分位显示数字格式化的数值
asp重定向页面的方法总结
asp下去除数组中重复的项的方法
asp下实现 重新排序数字数组的代码
asp 验证输入网址是否有效并可以访问 与正则验证输入网址
asp验证Ip格式的函数
asp实现生成由数字,大写字母,小写字母指定位数的随机数
asp 格式化sql中的like字符串
asp 实现显示所有的服务器变量值的函数
asp 取得用户真实IP,对代理地址仍然有效的函数
asp 通用数据库连接过程函数
asp 字符串截取函数
asp下实现格式化文件大小以MB显示的函数
asp 下用正则表达式检测邮箱格式的函数
asp 实现检测字符串是否为纯字母和数字组合的函数
asp代码实现检测组件是否安装的函数
asp通过JMAIL实现通用发送函数

ASP 中的 使用VBScript操作Html复选框(CheckBox)控件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 230 ::
收藏到网摘: n/a

 

这两天看到有朋友问起html内的各种控件怎么用script进行操作,现在自己也总结一下。因为项目原因,很多程序都是用VBScript写的,感兴趣的朋友可以改写成JavaScript,到时候别忘了共享一下啊,活活。

OK,切入主题,现介绍一下:

今天介绍使用VBScript判断复选框的选中数量和被选中的复选框的值。

在生成某个一览表时,比如一个订货单一览表,每条订货单记录前面可能会放置一个复选框,以提供批量删除,发行等功能。一般每个复选框的值也就是后面对应记录的主键的值,如订货单编号。在执行删除、发行等功能时,就要知道选了几个复选框,这些复选框分别对应什么值,下面就说一下方法。

程序分为三部分:

一、判断被选定的CheckBox是一个还是一个以上

      主要思路是:当有多个同名的复选框,但ID不同时,举例复选框控件名为chkTest,那么它将被以数组的形式调用,比如说有三个复选框名字叫chkTest,ID分别是chkTest1,chkTest2,chkTest3,那么要想查看三个复选框的checked属性就要这么写:chkTest(0).checked, chkTest(1).checked, chkTest(2).checked (数组从零开始);而当只有一个复选框的时候,直接可以使用chkTest.checked。这样就决定了对于数量不同的(1个或多个两种分别),只能采用不同的方法来取得复选框的信息。由于当有多个同名不同ID的控件时,该控件拥有“控件名.type”这个属性,而这个只读的属性可以等于任何字符串,也就是说 控件名.type = “任意字符串“ 恒为true。当然,这只是对有控件名.type这个属性的时候,否则恒为false,这样也就分辨出在一览表里的复选框是单个还是多个了。程序如下:

'*************************************************
'<函数名>
' gfIs_ArrayTest(obj)
'<功能>
' 判断选定的CheckBox的是一个还是一个以上
'<参数>
' CheckBox对象名
'<返回值>
' true
' false
'<备注>
' Created on Mar.15th.2004 by AITD
'*************************************************
function gfIs_ArrayTest(obj)
on error resume next
 if obj.type = "flag" then
  gfIs_ArrayTest = True
 else
  gfIs_ArrayTest = False
 end if
end function

二、检查画面上复选框的选择是否符合要求

         所谓是否符合要求的意思就是,比如说,删除的时候选择起码一条记录,修正的时候选且只能选择一条记录,至于其他的,什么只能选择5条,只能选择10条等等,下面的程序改以下就行了。别忘了刚才说的,只有一个复选框和有多个复选框的处理方法是不一样的。

'******************************************************
'<函数名>
' gfChkCheckbox()
'<功能>
' 检查画面CheckBox的选择是否符合要求
'<参数>
' obj: 对应的checkbox控件
' flag: 检查规则:0 可有多个被选中
'       1 只能有一个被选中
' name:  提示用户那个控件报错的信息
'<返回值>
' true
' false
'<备注>
' Created on Mar.15th.2004 by AITD
'******************************************************
function gfChkCheckbox(obj,flag,name)
 Dim i
 Dim j
 
 gfChkCheckbox = false
 i = 0
 j = 0
 '若对象不存在
 if isnull(obj) then
  msgbox "请选择一个 " + name + "。"  '请选择一个对象
  gfChkCheckbox = false
  exit function
 end if
 
 '对象只有一个
 if not gfIs_ArrayTest(obj) then
  if obj.checked = false then
   msgbox "请选择一个 " + name + "。"  '请选择一个对象
   gfChkCheckbox =  false
   exit function
  else
   gfChkCheckbox = true
   exit function
  end if
 end if

 '若有多个对象存在

 for i = 0 to (obj.length - 1)
  if obj(i).type = "checkbox" then
   if obj(i).checked = true then
    j = j + 1
   end if
  end if
 next
 
 if j = 0 then
  msgbox "请选择 " + name + "。"  '请选择一个对象
  gfChkCheckbox =  false
  exit function
 end if
 if j = 1 then
  gfChkCheckbox = true
  exit function
 end if
 if j > 1 then
  if flag = 1 then
   msgbox "只能选择一个 " + name