第三章通用属性、事件和方法VBScript采用的是面向对象、事件驱动编程机制。对象的概念:VBScript所支持的对象有脚本对象(如Window对象、Document对象、Forms对象等)和HTML内部控件(Button控件、Text控件等)。对象的属性在VBScript中,每一种对象都有一组特定的属性。有许多属性可能为大多数对象所共有,如Name属性定义对象的内部名称。属性的使用格式为:对象名.属性名=属性值对象的事件事件(Event)就是对象上所发生的事情。在VBScript中,事件是预先定义好的、能够被对象识别的动作,如单击(Click)事件、双击(DblClick)事件、装载(Load)事件、鼠标移动(MouseMove)事件等,不同的对象能够识别不同的事件。当事件发生时,VBScript将检测两条信息,即发生的是哪种事件和哪个对象接收了事件。为了使对象能够对某一事件做出响应(Respont),就必须编写事件过程。事件过程是一段独立的程序代码,它在对象检测到某个特定事件时执行(响应该事件)。如命令按钮的“单击”(Click)事件比较常见,其事件过程需要编写,对象的方法一般来说,方法就是要执行的动作。VBScript的方法与事件过程类似,可以是函数,也可以是过程,它用于完成某种特定功能而不能响应某个事件。如Window对象的关闭(Close)方法、打开(Open)方法等。每个方法完成某个功能,但其实现步骤和细节用户既看不到、也不能修改,用户能做的工作就是按照约定直接调用它们。方法只能在代码中使用,其用法依赖于方法所需的参数个数以及它是否具有返回值。当方法不需要参数并且也没有返回值时,可用下面的格式调用对象方法:对象名.方法名参数1,参数2…事件过程的调用方式事件过程按其名称被识别,事件过程的命名规则是:on事件名,如Click事件过程名为onclick。事件过程的定义与调用有如下4种方式。(1)通过SCRIPT标记块实现为每个事件过程分配一个SCRIPT标记块,然后使用SCRIPT标记的event属性调用事件过程,其语法格式为:SCRIPTfor=对象名event=on事件名LANGUAGE=VBScript〈事件过程代码〉/SCRIPT(2)在对象定义标记中设置事件过程通过在对象定义标记中设置事件过程可以直接调用事件过程代码,如下面代码:HTMLHEADTITLE调用事件过程/TITLE/HEADBODYH3调用事件过程/H3HRINPUTtype=buttononclick='aa=这是按钮的单击事件:msgboxaa'value=确定LANGUAGE=vbscript/BODY/HTML(3)在对象定义标记中调用事件过程在对象定义标记中设置事件过程属性可以调用命名Sub过程。上述代码可以改为:HTMLHEADTITLE调用事件过程/TITLESCRIPTLANGUAGE=vbscriptSubmysub()aa=这是按钮的单击事件msgboxaaEndSub/SCRIPT/HEADBODYH3调用事件过程/H3HRINPUTtype=buttononclick=mysubvalue=确定/BODY/HTML(4)单独定义事件过程这种方式对事件过程的命名有严格的要求,过程名必须是:对象名_on事件名通常在脚本的HEAD块中定义事件过程,如上述代码可以改为:HTMLHEADTITLE调用事件过程/TITLESCRIPTLANGUAGE=vbscriptSubmybtn_onclickaa=这是按钮的单击事件msgboxaaEndSub/SCRIPT/HEADBODYH3调用事件过程/H3HRINPUTtype=buttonname=mybtnvalue=确定/BODY/HTML4.1通用的属性、事件和方法1.通用属性常用的通用属性有:Disabled属性、Language属性、Style属性、Title属性、Value属性等。内部控件的通用属性名称说明Disabled属性可用性属性,取值为True(默认)或False,设置或返回控件是否响应用户事件。可以在INPUT标记或代码中使用Language属性该属性指定事件代码所使用的脚本语言名称,取值如VBScript或JScript。该属性只能在INPUT标记中使用Style属性样式属性,设置或返回控件的内嵌样式。可以在INPUT标记或代码中使用Title属性提示信息属性,设置或返回当鼠标在控件上移动时所显示的提示信息。可以在INPUT标记或代码中使用Value属性值属性,设置或返回控件当前状态的对应值。不同控件的值所表示的含义有所不同,如命令按钮的值是指按钮表面所显示的标题,而文本框的值是指文本框中的文本内容。该属性可以在INPUT标记或代码中使用通用属性的使用HTMLHEADTITLE通用属性的使用/TITLE/HEADBODYH3通用属性的使用/H3HR请输入文本:INPUTname=Text1type=Textdisabled=FalseSize=20PINPUTtype=Buttonname=Button1title=不能修改文本value=改变SCRIPTFOR=Button1EVENT=onClickLANGUAGE=VBScriptIfButton1.value=改变thenButton1.style.fontFamily=隶书Button1.style.fontSize=24Text1.disabled=False‘text框能接收输入Button1.title=可以修改文本Button1.value=还原ElseButton1.style.fontFamily=宋体Button1.style.fontSize=18Text1.disabled=True‘text框是灰色,不能输入Button1.title=不能修改文本Button1.value=改变EndIf/SCRIPT/BODY/HTML2、通用事件通用事件是指大多数控件都能响应的事件。内部控件的通用事件名称说明Focus事件当控件收到焦点时,触发事件Blur事件当控件失去焦点时,触发事件Click事件当用户单击鼠标左键,然后抬起按键时,触发Click事件;当控件处于激活状态时,按下Enter或空格键,也将触发Click事件Dblclick事件当用户双击鼠标左键,将触发Click事件;Mouseover事件当鼠标移到控件(或对象)的上方时,将触发该事件Mouseout事件当鼠标从控件(或对象)内部移出时,将触发该事件HTMLHEADTITLE使用鼠标事件/TITLE/HEADBODYH3使用鼠标事件/H3HRINPUTname=Button1type=Buttonvalue=我是一个按钮PINPUTname=Text1type=TextSize=20SCRIPTFOR=Button1EVENT=onClickLANGUAGE=VBScriptText1.value=我被单击了/SCRIPTSCRIPTFOR=Button1EVENT=onMouseoverLANGUAGE=VBScriptText1.Value=鼠标指向了我/SCRIPTSCRIPTFOR=Button1EVENT=onMousedownLANGUAGE=VBScriptText1.Value=鼠标按下了/SCRIPTSCRIPTFOR=Button1EVENT=onMouseoutLANGUAGE=VBScriptText1.Value=鼠标离开了/SCRIPT/BODY/HTML4、Text控件Text控件又称为文本框,通常用来接收用户的输入或输出提示信息。Text控件支持大多数的通用属性和事件。(1)Text控件的属性Text控件特有的属性有以下几种。①MaxLength属性,用于返回或设置用户可以输入的字符数。可以在INPUT标记或代码中使用。②Size属性,用于返回或设置文本框的宽度。可以在INPUT标记或代码中使用。(2)Text控件的事件Text控件特有的事件有:①Chang事件,改变文本内容,并转移焦点时触发该事件。②Select事件,选择文本内容时触发该事件。HTMLHEADTITLE文本框的内容/TITLE/HEADBODYH3文本框的内容/H3HR请输入文本:BRINPUTname=Text1type=Textvalue=Text1中的原有内容Size=20PINPUTname=Text2type=Textvalue=Text2中的原有内容Size=20PSCRIPTFOR=Text1EVENT=onChangeLANGUAGE=VBScriptText2.Value=Text1中的内容被改变了/SCRIPT/BODY/HTML5、Radio控件Radio控件又称为单选按钮。一般来说,单选按钮总是作为一个组(单选按钮组)的组成部分工作的。单选按钮组是一组相互排斥的单选按钮,单选按钮支持常用的通用属性和事件,其特有的属性是Checked。Checked属性用于返回或设置单选按钮的状态,其取值为True或False。若属性值为True,则该单选按钮处于被选中状态;若为False(默认),则处于未选中状态。可以使用控件的ID属性来区别单选按钮组中的按钮,也可以通过使用下标来区别如下例所示。HTMLHEADTITLE使用单选按钮/TITLE/HEADBODYH3使用单选按钮/H3HRINPUTname=Text1type=Textvalue=文本内容Style={font:44}Size=20P宋体INPUTtype=Radioname=Radichecked=True黑体INPUTtype=Radioname=Radi隶书INPUTtype=Radioname=Radi楷体INPUTtype=Radioname=RadiSCRIPTFOR=RadiEVENT=onClickLANGUAGE=VBScriptselectcasetruecaseRadi(0).checkedText1.Style.fontFamily=宋体caseRadi(1).checkedText1.Style.fontFamily=黑体caseRadi(2).checkedText1.Style.fontFamily=隶书caseRadi(3).checkedText1.Style.fontFamily=楷体_GB2312endselect/SCRIPT/BODY/HTML6Checkbox控件CheckBox控件又称为复选框,其功能与单选按钮相似,就像一个开关,用于表明某个特定状态是选定(ON)还是未选定(OFF)状态。与单选按钮不同的是,可以同时选中多个复选框。复选框所支持的属性和事件与单选按钮相同,其Checked属性用于返回或设置单选按钮的状态。File控件File控件提供一个文本框和一个浏览按钮,用于查找文件。单击浏览按钮,打开“查找文件”对话框,找到的文件及其路径名将显示在文本框中。File控件的value属性将返回找到的文件及其路径名。File控件支持多数的通用属性和事件。HTMLHEADTITLE使用File控件/TITLE/HEADBODYH3使用File控件/H3HR请选择文件:BRINPUTname=Text1type=Filesize=40/BODY/H