使用客户端脚本操作ComboBox和获取父文件夹路径

在许多情况下,可能不希望每次向ComboBox添加内容时都提交表单。本文将介绍如何使用客户端脚本向ComboBox添加元素,并解释如何获取当前ASP文件的父文件夹路径。这对于生成数据库访问的连接字符串非常有用。

ComboBox添加元素

可以通过创建一个"OPTION"元素的实例,为其分配值,然后将其添加到ComboBox中。文档对象的CreateElement方法可以创建一个"OPTION"标签的元素实例。

以下是使用VBScript向ComboBox添加元素的示例代码:

Dim a a = 1 Sub Button1_OnClick If Text1.value <> "" Then Set objOpt = document.CreateElement("OPTION") objOpt.Value = a objOpt.Text = Text1.value Select1.add objOpt Set objOpt = Nothing Select1.selectedIndex = a a = a + 1 End If End Sub

变量a用于跟踪ComboBox中的项目数量。添加新元素后,将新添加的项目设置为当前选择。

在不同框架中向ComboBox添加元素

添加项目的方法是相同的,只是引用的是不同框架中的ComboBox。框架索引从0-n,其中n是父窗口中的框架数量。

Set objOpt = document.CreateElement("OPTION") objOpt.Value = a objOpt.Text = Text1.value window.parent.frames(0).Select1.add objOpt Set objOpt = Nothing window.parent.frames(0).Select1.selectedIndex = a a = a + 1

使用ASP生成客户端脚本

这里有五个文本框、按钮和相应的ComboBox。每个按钮的脚本是动态生成的。ASP嵌入在脚本代码中,因此您不需要单独处理新行。

<% Dim i For i = 1 to 5 %> Dim a<i%> a<i%> = 1 Sub Button<i%>_onclick If Text<i%>.value <> "" Then Set objOpt = document.CreateElement("OPTION") objOpt.Value = a<i%> objOpt.Text = Text<i%>.value window.parent.frames(0).Select<i%>.add objOpt Set objOpt = Nothing window.parent.frames(0).Select<i%>.selectedIndex = a<i%> a<i%> = a<i%> + 1 End If End Sub <% Next %>

以下是文本框和按钮的HTML代码示例:

<INPUT id="Text<i%>" type="text" name="Text<i%>"> <INPUT id="Button<i%>" type="button" value="Add<i%>" name="Button<i%>">

这里将看到两种获取当前脚本父文件夹的方法。发现这在生成连接到应用程序目录子文件夹中的Access数据库的连接字符串时非常有用。

两种方法都使用Request方法的ServerVariables集合来获取正在运行的脚本的虚拟路径。然后使用Server对象的MapPath方法将此值映射到物理路径,以获取脚本的物理路径。第一种方法定位最后一个'\'的位置,并通过删除脚本文件名来获取父文件夹。

' 将当前文件的虚拟路径转换为物理路径 phypath = Server.MapPath(Request.ServerVariables("SCRIPT_NAME")) ' 定位从末尾的'\'位置 slashpos = InStrRev(phypath, "\") ' 分离文件夹名称 getpath = Left(phypath, slashpos - 1) ' 将当前文件的虚拟路径转换为物理路径 phypath = Server.MapPath(Request.ServerVariables("SCRIPT_NAME")) ' 创建FileSystemObject实例 Set fsobj = Server.CreateObject("Scripting.FileSystemObject") ' 创建一个代表文件的File对象,指定为phypath Set fileobj = fsobj.GetFile(phypath) ' 获取fileobj的父文件夹 Set getdir = fileobj.ParentFolder
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485