使用VBScript 和JScript,既可编写服务器端脚本,也可编写客户端脚本。服务器端脚本在Web 服务器上执行,生成发送到浏览器的HTML 页面,在ASP 中,服务器端脚本要用分隔符<%和%>括起,或者在<SCRIPT></SCRIPT>标记中用RUNAT=Server 表示脚本在服务器端执行。
客户端脚本由浏览器处理,必须把脚本代码用<SCRIPT></SCRIPT)标记嵌入到HTML页面中去。例如,下面是一个包含脚本代码的HTML文档:
例5-1:
用浏览器打开并读取该文档时,将显示一个文本框和一个按钮。在文本框中输入数字后(图5-1(a)),单击“提交”按钮,浏览器会查找并执行事件过程Buttonl_OnClick。执行时将调用表单的Submit 方法将数据提交到服务器。若输入不正确,如不是数字或小于1 或大于50,则会调用MsgBox语句产生信息框来提示输入正确的数字(图5-1(b))。
图5-1 简单的VBScript脚本
客户端脚本部分的注释标记<!--和-->不是必须的,但一般应加上,因为客户端脚本由浏览器执行,而浏览器并不一定能支持所有的脚本语言。例如,只有Internet Explorer 支持VBScript,而Netscape 不支持,当在Netscape中查看上面的HTML文档时,脚本代码不会被处理。然而,如果不加注释,则Netscape会把脚本代码显示出来,即把脚本代码本身作为HTML页面的内容输出。
注意:用<SCRIPT></SCRIPT>标记编写服务器端脚本时,不必再用注释标记<!--和-->来屏蔽,因为服务器必须能解释脚本,否则会引起错误。VBScript的MsgBox和InputBox不能在服务器端脚本中使用。MsgBox用于显示一个信息框,而InputBox用于产生一个输入框。信息框和输入框都是用户界面元素,不能在服务器端执行。
脚本代码能够嵌入到HTML文档的任何地方,通常都是将所有脚本代码集中放在HEAD部分,这样可以确保在BODY 部分调用代码之前所有脚本代码都被读取并解码。但也有例外情况,例如,下面的示例在表单中嵌入脚本代码来响应表单中按钮的单击事件。
例5-2:(www.xing528.com)
大多数客户端脚本代码放在过程/函数中,仅在其他代码要调用时才执行。但也可将脚本代码放在过程/函数体之外、且在SCRIPT块之中,这类代码仅在HTML页面被加载时执行一次,通常用于加载页面时初始化数据或动态地改变页面的外观。
注意:用<SCRIPT></SCRIPT>标记编写服务器端脚本时,脚本代码必须作为某个函数或过程的一部分出现,而不能单独出现在过程或函数体之外。这是因为过程或函数体之外的命令没有固定的执行顺序,这可能会导致无法预知的结果。
在ASP 程序中,可以混合使用服务器端脚本和客户端脚本。可以将服务器端脚本散布到客户端脚本中,以便在请求时动态初始化和更改客户端脚本。
例如,下面是一个对客户端脚本(用JScript 编写)进行操作的服务器端脚本示例(用VBScript 编写)。
例5-3:
运行结果如图5-2所示。
图5-2 运行结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。