vbscript起步——与窗体的交互,函数的调用

王朝asp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

首先我们看这样一段代码:

<HTML>

<HEAD><TITLE>一个简单首页</TITLE>

<SCRIPT LANGUAGE="VBScript">

<!--

Sub Button1_OnClick

MsgBox "欢迎光临"

End Sub

-->

</SCRIPT>

</HEAD>

<BODY>

<H3>一个简单首页</H3><HR>

<FORM><INPUT NAME="Button1" TYPE="BUTTON" VALUE="单击此处"></FORM>

</BODY>

</HTML>

这实现的是 当点击按钮时,弹出消息框,显示 欢迎光临

其中

sub 定义一个过程,过程名包含两部分:

button1 为按钮名(从<INPUT> 标记中的 NAME 属性获取)

onclick 是事件名,即button1的onclick事件其中两部分用(_)连接

合起来实现的是,单击按钮,Internet Explorer 查找并运行相应的事件过程,即 Button1_OnClick

<INPUT NAME="Button1" TYPE="BUTTON"

VALUE="单击此处" OnClick='MsgBox "欢迎光临"'>

函数调用包含在单引号中,MsgBox 函数的字符串包含在双引号中。只要用冒号 (:) 分隔语句,就可以使

用多条语句。

<SCRIPT LANGUAGE="VBScript" EVENT="OnClick" FOR="Button1">

<!--

MsgBox "欢迎光临"

-->

</SCRIPT>

这种方法在<SCRIPT> 标记指定了事件和控件,所以不需要再用 Sub 和 End Sub 语句

进一步实现简单验证

<HTML>

<HEAD><TITLE>简单验证</TITLE>

<SCRIPT LANGUAGE="VBScript">

<!--

Sub button1_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="button1" TYPE="BUTTON" VALUE="提交">

</FORM>

</BODY>

</HTML>

这个文本框与 VBScript 页面的简单样例中文本框的 Value 属性被用于检查输入值。要使用文本框的

Value 属性,代码必须引用文本框的名称。

每次引用文本框时都应写出全称,即 Document.ValidForm.Text1。但是,当多次引用窗体控件时,可以

按照以下步骤操作:首先声明一个变量,然后使用 Set 语句将窗体 Document.ValidForm(form的id)

赋给变量 TheForm,这样就能使用 TheForm.Text1 引用文本框。常规的赋值语句(例如 Dim)在这里无

效,必须使用 Set 来保持对对象的引用。

进一步实现 验证后将数据传递回服务器

<HTML>

<HEAD><TITLE>简单验证</TITLE>

<<SCRIPT LANGUAGE="VBScript">

<!--

Sub button1_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>

</HEAD>

<BODY>

<H3>简单验证</H3><HR>

<FORM NAME="ValidForm" action="要提交到的页">

请输入一个 1 到 10 之间的数字:

<INPUT NAME="Text1" TYPE="TEXT" SIZE="2">

<INPUT NAME="button1" TYPE="BUTTON" VALUE="提交">

</FORM>

</BODY>

</HTML>

sub中 TheForm.Submit 一句指出将form的内容上传到服务器端

有以下几点需要注意,我在测试的时候如果将NAME="button1" 改为NAME="submit"程序出错,原因可能是

因为submit是一个保留字

同样,如果TYPE="BUTTON" 改为TYPE="submit"那么不管验证结果如何,数据都将上传到服务器端。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有