首页 > 开发 > 综合 > 正文

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

2024-07-21 02:15:31
字体:
来源:转载
供稿:网友
 

首先我们看这样一段代码:
<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"那么不管验证结果如何,数据都将上传到服务器端。


注册会员,创建你的web开发资料库,
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表