• 沒有找到結果。

3.6.1 对象和事件的概念

VBScript 是基于对象的脚本语言,因此对象和事件是与网页设计密切相关的两个概念,

对象是在浏览器中或者脚本编写中用于综合地描述一组功能和事件的组合体。每一个 HTML 文档都是以浏览器为执行环境,把自身作为一个 Document 文档对象,在浏览器对象 Windows 中执行所有代码。所有的网页对象都有一定的属性和方法,在 VBScript 中使用对象和属性名 称时是区分大小写的,这一点要特别注意。

当使用 VBScript 的网页在浏览器中产生事件时,浏览器会把消息传递给 VBScript 的虚拟 机,再将程序转到某对象的事件处理过程去处理。在网页中使用 VBScript 脚本时,增加了浏 览器和网页的处理功能,可以使 VBScript 处理网页中的每一个对象。常用的事件有 Click 单击 事件、Focus 聚焦事件、Load 加载事件和 Submit 提交事件等。

3.6.2 网页及浏览器对象

网页和浏览器对象包括:Windows 窗口对象、Frame 框架对象、History 历史对象、Navigator 漫游对象、Location 位置对象、Script 脚本对象和 Document 文档对象等。它们包括很多的属 性、方法和事件。

1.Windows 窗口对象

在 VBScript 中控制 Windows 窗口对象,也就相当于控制浏览器,Windows 对象实际上代 表了 Internet Explorer 对象本身。它有很多的属性、方法和事件,具体介绍如下:

(1)Windows 窗口对象的属性。

DefaultStatus:字符串类型。

功能:用来设置状态栏中的缺省文字。例如:DefaultStatus="OK"。

Document:对象类型。

功能:返回当前窗口的文档对象的引用。例如:Set Object(1)=Document。

Frames:对象数组。

功能:返回当前窗口中的框架。例如:Set Object(2)=Frame(1)。

History:对象类型。

功能:返回当前窗口的历史对象。例如:Set Object(3)=History。

Location:对象类型。

功能:返回位置类型对象。

Name:字符串类型。

功能:返回当前窗口的名字。

Parent:对象类型。

功能:返回当前窗口的父窗口的名字。

Self:对象类型。

功能:对当前窗口对象的另一个引用。

Status:字符串类型。

功能:返回或设置显示在状态栏中的文字。例如:Status="Loading…"。

Top:对象类型。

功能:返回代表最高级窗口的一个对象。

(2)Windows 窗口对象的方法。

Alert:显示一个带“OK”按钮的警告消息框,没有返回值。例如:Alert("谢谢使用!")。

ClearTimeout:删除一个指定的计数器,无返回值。例如:ClearTimeout(计数器名)。

Close:关闭窗口,无返回值。

Conform : 显 示 一 个 带 有 OK/Cancel 的 消 息 框 , 返 回 布 尔 类 型 值 。 例 如 : blnVar=Conform("准备好了吗?")。

Open:打开一个新窗口或创建一个新窗口并在其中显示一个文档,返回一个 Windows 对象。例如:Open(URL,Title,Features,Width,Height)。

Prompt:显示一个带有 OK/Cancel 类型的输入型对话框,返回字符串类型值。

SetTimeout:经过指定时间后执行特定的代码,返回长整数值。

(3)Windows 窗口对象的事件。

OnLoad:加载页面时调用相应的事件。例如:<BODY OnLoad="处理事件过程">。

OnUnload:卸载页面时调用相应的事件。例如:<BODY OnUnLoad="处理事件过程">。

2.Document 文档对象

(1)Document 文档对象的属性。

LinkColor:返回或设置文档中链接的颜色。这个属性和“<BODY>”标签中的“LINK”

属性相同,颜色值为十六进制数或颜色名。

AlinkColor:返回或设置文档中的活动链接的颜色。所谓活动链接就是当鼠标光标指 向一个链接并按下鼠标按键而未释放。

VlinkColor:返回或设置未曾被访问过的链接,与“<BODY>”标签中的“VLINK”

属性相同。

BGColor:返回或设置文档的背景色。例如,Document.BGColor="green"。

FGColor:返回或设置文档的前景色。

Forms:此对象表示在一个 HTML 文档中的一个窗体,可以通过 Forms 数组得到文档 中所有的 Form 对象。

LastModified:返回当前文档最近一次被修改的时间。

Title:返回当前文档的标题,这个属性是只读的,不允许实时改变。

Cookie:可以设置客户方的 Cookie。

(2)Document 文档对象的方法。

Write:将字符串变量写入当前文档中。例如:Document.Write strVar。

WriteLn:写入到当前文档时,将字符串变量作为一个新行附加到结尾。

Open:为输出数据打开一个新的文档。

Close:关闭文档流。

Clear:关闭已经开启的文档输出流,并且清除屏幕上所有的内容。

3.Location 位置对象 Location 位置对象的属性:

Href:返回或设置载入浏览器窗口的完整的 URL。

Protocol:返回或设置 URL 使用的协议,例如 HTTP 协议、FTP 协议等。

Host:返回或设置 URL 的宿主和端口,宿主和端口之间用冒号隔开。

HostName:读取或设置 URL 的宿主,可以是一个 IP 地址或是一个名字。

Port:返回或设置 URL 的端口。

PathName:返回或设置 URL 的路径名。

Search:返回或设置 URL 的搜索部分,搜索部分是当浏览器提交数据到服务器时,

在 URL 中问号后面的字符串。例如,http://www.server.com/search.asp?id="123"。

Hash:返回或设置 URL 的无用部分。

4.History 历史对象

History 历史对象可以控制浏览器已经访问过的网页,它只有一种属性就是其长度 Length。

它有三种方法分别为:

History.back(n):就像单击“Back”按钮一样,可以回到最近访问过的 URL。

History.forward(n):可以在历史清单中前移 n 步进行搜索,相当于单击“Forward”按钮。

History.go(n):在历史清单中跳到第 n 项。

5.Form 表单对象 Form 表单对象的属性:

Action:返回或设置表单的动作属性。

Elements:返回或设置表单的元素属性。

Method:返回或设置表单的方法属性。

Target:返回或设置表单的目标属性。

Encoding:返回或设置表单的代码属性。

3.6.3 浏览器内嵌 HTML 控件

IE 浏览器有一些嵌入其内部的 HTML 控件,关于它们的使用在第二章中已经有了较详细 地介绍,这些控件都可以触发相应的事件如表 3-6-1 所示。

当事件发生后,会有相应的处理事件的方法开始执行。处理事件的一般过程有以下几种 方式:

当表单对象被鼠标单击时,产生 Click 事件,OnClick()事件处理过程开始执行。

表单内的选择对象或者文本对象不再被聚焦时,产生 Blur 事件,OnBlur()事件处理过 程开始执行。

相应的对象被改变时,产生 Change 事件,OnChange()事件处理过程开始执行。

对象被聚焦时,例如当鼠标移动到对象上时即产生了 Focus 事件,OnFocus()事件处 理过程开始执行。

当用户在文本框区域内选择了一段文字时,就会产生 Select 事件,OnSelect()事件处 理过程开始执行。

表 3-6-1 浏览器内嵌 HTML 控件及其触发的事件

控件 事件 方法 使用说明

Button OnClick OnFocus

Click

Focus <Input Type="Button" [Name=] [Value=] [OnClick=] [OnFocus=] >

CheckBox OnClick OnFocus

Click Focus

<Input Type=" CheckBox" [Name=] [Value=] [Checked]

[OnClick=] [OnFocus=] >

PassWord OnFocus Focus <Input Type="Password" [Name=] [Value=] [OnClick=] [OnFocus=] >

Radio OnClick OnFocus

Click Focus

<Input Type=" Radio" [Name=] [Value=] [Checked]

[OnClick=] [OnFocus=] >

Reset OnClick OnFocus

Click

Focus <Input Type="Reset" [Name=] [Value=] [OnClick=] [OnFocus=] >

Select

<Select Name=[Size=][Multiple] [OnFocus=] [OnBlur=] [OnChange=] >

<Option [Selected][value=]>Items</Option>

</Select>

Submit OnClick OnFocus

Click

Focus <Input Type="Submit" [Name=] [Value=] [OnClick=] [OnFocus=] >

Text

<Input Type="Text" [Name=] [Value=] [Size=] [MaxLength=]

[OnBlur=] [OnFocus=] [OnChange=] [OnSelect=]>

TextArea OnChang

OnSelect Select <TextArea [Name=] [Rows=] [OnBlur=] [OnFocus=]

[OnChange=] [OnSelect=]></TextArea>

3.6.4 对象和事件实例

<Script Language="VBScript">

<!--

sub Windows_onload Form1.xm.Focus end sub

sub xm_onkeypress

if Window.Event.KeyCode=13 then Form1.nl.Focus

end if end sub

sub nl_onkeypress

if Window.Event.KeyCode=13 then Form1.dh.Focus

end if end sub

sub dh_onkeypress

if Window.Event.KeyCode=13 then Form1.zz.Focus

end if end sub

sub zz_onkeypress

if Window.Event.KeyCode=13 then Form1.Button1.Focus

end if end sub

sub button1_OnClick

Dim txt1,txt2,txt3,txt4,alltxt txt1=Form1.xm.value

txt2=Form1.nl.value txt3=Form1.dh.value txt4=Form1.zz.value

alltxt="姓名为:"+txt1+vbcrlf

alltxt=alltxt+"年龄为:"+txt2+vbcrlf alltxt=alltxt+"电话为:"+txt3+vbcrlf alltxt=alltxt+"住址为:"+txt4

msgbox alltxt end sub

sub button1_onkeypress

if Windows.Event.KeyCode=13 then button1_onclick

end if end sub -->

</Script></HEAD>

<BODY bgcolor=White>

<form id=Form1>

<center>

<p>姓名:<input id=xm name=xm></p><br>

<p>年龄:<input id=nl name=nl></p><br>

<p>电话:<input id=dh name=dh></p><br>

<p>住址:<input id=zz name=zz></p><br>

<input id=button1 name=button1 type=button value="提交">

</form></BODY></HTML>

在浏览器中运行上段代码,显示效果如图 3-6-1 所示。

图 3-6-1 用户信息输入实例

相關文件