当前位置: 首页 > 图文教程 > 脚本技术 > VBScript > VBScript教程 第十三课 VBScript与窗体

VBScript
用vbs检索在运行对话框中键入的一系列命令的代码
编写可以打开文本文件并打乱在该文件中所找到的单词顺序的vbs脚本
在 HTA 中暂停脚本的方法
运行脚本之前,如何确定计算机上的默认脚本宿主的代码
用vbs实现删除名称中有撇号的文件夹
用vbs将输出内容写到屏幕以覆盖当前屏幕上的内容的方法
用vbs实现配置无人登录计算机时使用的屏幕保护程序
用vbs更改 Internet Explorer 的标题栏
用vbs读取文本文件的最后一行
用vbs实现重新启动 Internet Explorer
用vbs实现禁用服务
用vbs确定计算机是否有 USB 2.0 端口的代码
用vbs列出注册表中 Run 项中的所有项目
用vbs将名称截断以使其最多包含 16 个字符的代码
用vbs将本地文件替换为在文件服务器上找到的新版本
用vbs确定脚本正在哪一个帐户下运行
用vbs确定可移动驱动器的连接时间
用vbs记录屏幕保护程序的开始时间和结束时间
用vbs计算某个词在日志文件中的出现次数
vbs病毒的简单例子源代码解析

VBScript教程 第十三课 VBScript与窗体


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

简单验证
使用 Visual Basic Scripting Edition,您可以完成通常要在服务器上进行的大量窗体处理工作,也可以完成不能在服务器上进行的工作。
这是一个简单的客户端验证的样例。HTML 代码的结果是一个文本框和一个按钮。如果使用 Microsoft? Internet Explorer 查看用以下代码制作的页面,您会看到一个旁边带有按钮的小文本框。
<HTML>
<HEAD><TITLE>简单验证</TITLE>
<SCRIPT LANGUAGE="VBScript">
<!--
Sub Submit_onClick
Dim TheForm
Set TheForm = Document.ValidForm
If IsNumeric(TheForm.Text1.Value) Then
If TheForm.Text1.Value < 1 Or TheForm.Text1.Value > 10 Then
MsgBox "请输入一个 1 到 10 之间的数字。"
Else
MsgBox "谢谢。"
End If
Else
MsgBox "请输入一个数字。"
End If
End Sub
-->
</SCRIPT>
</HEAD>
<BODY>
<H3>简单验证</H3><HR>
<FORM NAME="ValidForm">
请输入一个 1 到 10 之间的数字:
<INPUT NAME="Text1" TYPE="TEXT" SIZE="2">
<INPUT NAME="Submit" TYPE="BUTTON" VALUE="提交">
</FORM>
</BODY>
</HTML>
这个文本框与 VBScript 页面的简单样例中示例的不同之处在于文本框的 Value 属性被用于检查输入值。要使用文本框的 Value 属性,代码必须引用文本框的名称。
每次引用文本框时都应写出全称,即 Document.ValidForm.Text1。但是,当多次引用窗体控件时,可以按照以下步骤操作:首先声明一个变量,然后使用 Set 语句将窗体 Document.ValidForm 赋给变量 TheForm,这样就能使用 TheForm.Text1 引用文本框。常规的赋值语句(例如 Dim)在这里无效,必须使用 Set 来保持对对象的引用。
使用数字
请注意以上示例直接检测输入值是否是一个数字:使用 IsNumeric 函数确定文本框中的字符串是否是一个数字。虽然 VBScript 能够自动转换字符串和数字,但检测用户输入值的数据子类型,并且在必要时使用转换函数始终是一个好的习惯。在用文本框的 Value 属性进行加法运算时,应将它显式地转换为数字,这是因为加号 (+) 操作符不但可进行加法操作,而且可进行字符串连接操作。例如,如果 Text1 中包含"1",Text2 中包含"2",您将会看到以下结果:
A = Text1.Value + Text2.Value ' A 为"12"
A = CDbl(Text1.Value) + Text2.Value ' A 为 3
验证后将数据传递回服务器
简单验证样例使用的是普通按钮控件。如果使用 Submit 控件,所有数据都会被立即传送到服务器,示例将不会看到数据来进行检查。避免使用 Submit 控件使您可以检查数据,但不能向服务器提交数据。如果要提交数据则需要再添加一行代码,如下所示:
<SCRIPT LANGUAGE="VBScript">
<!--
Sub Submit_onClick
Dim TheForm
Set TheForm = Document.ValidForm
If IsNumeric(TheForm.Text1.Value) Then
If TheForm.Text1.Value < 1 Or TheForm.Text1.Value > 10 Then
MsgBox "请输入一个 1 到 10 之间的数字。"
Else
MsgBox "谢谢。"
TheForm.Submit ' 数据输入正确,传递到服务器。
End If
Else
MsgBox "请输入一个数字。"
End If
End Sub
-->
</SCRIPT>
在数据输入正确时,代码调用窗体对象的 Submit 方法,将数据传递到服务器。除非在数据被传递到服务器之前判断其正误,否则服务器将处理数据,而不论其正确与否。您可以在 Internet Explorer Script Object Model 页面上找到关于 Submit 方法和其他方法的全部信息。
到目前为止,您只看到了标准 HTML <FORM> 对象。Internet Explorer 还可以使您利用 ActiveX? 控件(以前称为 OLE 控件)和 Java? 对象的全部功能创建页面。