打印本文 打印本文 关闭窗口 关闭窗口
[原创]《VBScript制作实例》笔记
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2005  更新时间:2009/4/23 15:37:39  文章录入:mintao  责任编辑:mintao
r_NewDay()事件。
要注意,在下拉列表中选择了年或月后,Calendar.year,Calendar.month,Calendar.day三个值均会被清零。

=========关于VB的颜色常数============
在VBScript中使用VBS的颜色常数会出现意想不到的颜色,比如document.bgcolor=vbYellow
不会将页面背景显示成黄色,而是淡蓝色。
原因在于VBS的颜色常数表示方法与HTML中颜色的表示方法不同,VBS的颜色常数vbYellow的机内值是"hffff",VBS的本意是要它表示值为"ffff00"的颜色,但因为常数的机内值没有写成6位十六进制数,所以HTML会将其解释为"00ffff",导致出错。
关于VBS的颜色常数在页面中实际显示的颜色可以在FrontPage中实验。在页面属性中选背景颜色/其它颜色,在值中直接填入VBS的颜色常数的机内值,确定后系统会把它进行转换,得到在页面中实际显示的颜色。
有些VBS的颜色常数的机内值6位数是对称的,所以会正确显示,如vbGreen(hFF00)和vbMagenta(hFF00FF)。

=================== elements 对象 ===================
private sub window_OnLoad()
for i = 0 to 6
frmRes.elements(i).value=""
next
end sub
这段窗口初始化程序将页面中frmRes表单的最前面7个元素(第0-第6个元素)的值清空,注意,不能将循环条件写成
for i=1 to 7
因为这样系统将认为是第1-第7个元素,系统对元素的标识是从0开始的。

====================== Set语句 =======================
dim TheForm
set TheForm = document.frmRes
上面语句设置用TheForm变量引用frmRes表单,可以减少书写,并使对页面的变动有更强的适应性。在程序中可以这样引用frmRes的元素:
TheForm.txtName.focus

注意:Set语句将对象引用赋给变量或属性,设置TheForm变量的语句前面必须要用set引导,否则将出错。
当使用 Set 将一个对象引用赋给变量时,并不是为变量创建对象的副本,而是创建对象的引用。可有多个对象变量引用同一个对象。因为这些变量是对象引用(不是副本),所以对对象所作的任何改动都会影响所有引用该对象的变量。

===========Location对象===========
每个窗口都有一个Location对象,定义了其包含的主页的网页地址信息。Location对象的主要属性有:
href 网页的URL
protocal 网络协议
host,hostname 主机名
pathname 路径
port 端口号
还可以使用 location.href=newURL 语句重定向页面地址。

==========window对象================
window对象的属性和方法无需指明窗口的名称,因此window对象的方法名称可以看作系统的语句。如窗口的名称可以用window.name,也可以直接用name。

status属性是状态栏提示信息,可用下面的语句改变状态栏的信息:
status="I am busy! Please wait for a miniter!"

window对象的navigate方法可以重定向页面地址。如 navigate "http://www.sina.com.cn"

============== alert和 confirm 语句 =================

alert "比尔正在认真地进行一项生物试验"
window对象的alert方法用来显示提示文本,如上图。window对象的confirm方法弹出一个含有“确定”和“取消”按钮的对话框,可以用分支程序处理用户的选择。如上图。

flag=prompt ("比尔正在进行生物试验吗?")
if flag then
msgbox "正在进行中……"
else
msgbox "玩去了……"
end if

========== window对象的prompt方法与InputBox函数的比较==========

window对象的prompt方法的格式为:
username=prompt ("请输入你的名字:","Jack")
第一个参数为提示信息,第二个参数为默认值。如上图。InputBox函数可以显示更个性化的输入对话框,格式为:
username=InputBox ("请输入你的名字:","输入对话框","Jack")
第一个参数为提示信息,第二个参数为对话框标题,第三个参数为默认值。如上图。

prompt方法与InputBox函数基本上是一样的,prompt方法弹出的对话框中有"JavaScript"字样,而InputBox函数弹出的对话框中有"VBScript"字样。

=========History对象============
history对象中包含着窗口中显示过的主页的列表。
forward 方法是向前翻页,相当于IE中的“前进”按钮。back 方法是向后翻页,相当于IE中的“后退”按钮。forward和back方法均可以带参数,表示前进和后退的页数。
go 方法是转到某个页面,它的参数相对于当前页面,正数是前进,负数是后退。
length 属性是窗口显示过的窗口的总数。

如 history.back
history.go 3


=======link对象=======
用document对象的links属性可以访问link对象,links属性是一个数组,从0开始记数,包含了所有的链接对象,其中链接对象的顺序由HTML文件中的链接对象的定义决定。链接对象的属性与窗口的location对象的属性很相似。

以下程序将改变页面中第一个链接的href属性。用set语句将链接对象的名称赋给lnk变量的好处是,有些情况下是无法把每一个对象的名称写出来的(如不能用name属性为<a>标记命名),用set语句就可以引用这个对象。

set lnk=document.links(0)
lnk.href="page-1.htm"
msgbox "链接已改成 " & lnk.href

link对象的length属性,是主页中所有链接对象的个数。下面的程序将显示出网页中的所有链接。

dim msg , i , lnk
for i=0 to document.links.length-1
set lnk=document.links(i)
msg=msg & i+1 & "---" & lnk.href & vbCrlf
next
msgbox msg

=========Frame 对象====================
Frame对象包含在Window对象中,但实际上又相当于一个Window对象,它可以使用窗口对象的各种属性、方法和事件,也可以包含任何窗口所能包含的对象,包括在框架对象中嵌套的其他框架对象。
一个典型的Frame嵌套的HTML源文件,将一个窗口分成上下两部分,再将上部分成左右两部分,再将上左分成上下两部分:

<frameset cols="*,505" >
<frameset rows="80,*" >
<frame name="topFrame" src="document.write-top.htm" >
<frame name="mainFrame" src="document.write-main.htm">
</frameset>
<frame name="rightFrame" src="document.write-right.htm">
</frameset >


从当前Frame访问别的Frame,用如下的形式:
parent.FrameName.document.write "cccccccc"
无论Frame嵌套了几层,都只需一个parent,而不必像目录那样一级一级地指定。

============限制文本框只能输入数字===========
下面的程序处理文本框的OnKeyUp事件,如果按下的不是数字,将删除最后键入的字符。
程序尚未解决的问题:
1.如果按下非数字键不放,将键入一串文本,而只会删除最后一个字符。
2.如果不是在最后的位置键入非数字键,就不会纠正。

sub txtA_OnKeyUp
dim a
a=right(txtA.value,1)
if a < chr(48) or a > chr(57) then
txtA.value=left(txtA.value,len(txtA.value)-1)
end if
end sub

================== window 对象的关系 =================

===================其他 ===================
  □如果在HTML中没有指定脚本语言的类型,浏览器会默认脚本语言为JavaScript。
  □表单<form>中的按钮若设成submit类型,则不论其OnClick程序中有何语句,最后总要跳转到<form>中定义的<action>页面,所以,submit类型的按钮不宜做检查表单填写是否正确的按钮,因为即使检查出错误也会跳转到下一个表单,检查就失去意义了。可以将其移到<form>外作为独立的按钮,或者将其类型设置为<button>。
  □可以用MsgBox显示消息框来起到“断点”的作用。
  □focus方法使焦点移到当前元素。如 TheForm.txtPhone.focus
  □select方法使相应文本框中的全部文本处于被选中状态。如 TheForm.txtPhone.select
  □页面中<body>与</body>之间的内容表示为:document.body.innerHTML

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口