我是VBscript的新手,所以可能有一个非常简单的解决方案。
基本上,我的主页面上的按钮实际上只是作为其他页面的链接。在链接中我想传递信息,所以我使用标准的?variable = value,如下所示:
<input type="button" name="saveButton" value="Save Systems" onclick="location.href='save.html?step=1'" />
<input type="button" name="loadButton" value="Load Systems" onclick="location.href='load.html?step=1'" />
我查找了如何在vbscript中访问GET变量,并且我看起来所说的每个地方都使用Request.QueryString(“variableName”)
所以在我的save.html页面中,我试图首先打印步骤的值,只是为了确保我得到它,然后才开始实际处理我的所有代码。这就是我挂断电话的地方。
<script type="text/vbscript">
document.write("<p>in the script<br>")
document.write("stepVar = ")
stepVar = Request.QueryString("step")
document.write(stepVar)
document.write(stepVar & "</p>")
</script>
... (rest of the page)
(我尝试了两种不同的打印语句,以防我连接不正确,但都没有工作。)当我点击主页面上的保存按钮,导致我去save.html?step = 1,它打印
in the script
stepVar =
(rest of the page)
所以我猜步骤会回来吗?这是不起作用的原因,因为我没有通过表单提交我的变量?这不应该与它有任何关系......对吗?为什么我没有得到我的变量/如何获得“步骤”的值,以便我可以根据变量的值采取不同的操作?
答案 0 :(得分:3)
Request.QueryString
适用于ASP页面(或ASP.net页面中的VB.net)中的VBScript,它在服务器上执行,而不是在客户端浏览器中执行。
如果您有正确配置的Web服务器,则以下保存为.asp页面将输出您所期望的内容(服务器正在执行<% %>
块内的所有内容);
<%@LANGUAGE="VBSCRIPT"%>
<%
response.write("<p>in the script<br>")
response.write("stepVar = ")
stepVar = Request.QueryString("step")
response.write(stepVar)
response.write(stepVar & "</p>")
%>
(如果您想在客户端Web浏览器中执行此操作,可以使用location
对象,here是一个js示例,与VBScript不同,它可以在任何浏览器中使用)
答案 1 :(得分:0)
您可以使用客户端脚本来访问此值。这个问题涉及类似的主题:
答案 2 :(得分:0)
必须编写一个解析URL的函数。在javascript中看到了其中的几个,但我发现在VBScript中编写的唯一一个没有使用正则表达式而且没有工作。在试图让函数编译,然后吐出答案之后,我决定使用正则表达式编写自己的函数,就像我见过的javascript函数(包括在其他响应中链接的函数)对这个问题)。
所以没有人必须再次这样做:
Function GetParameterFromURI(sVarName)
Dim oTempParamCollection, I, sTempString, sURI_Query
sURI_Query = window.location.search
Set myRegExp = New RegExp
myRegExp.IgnoreCase = False
myRegExp.Global = False
myRegExp.Pattern = "(\?|&)" & sVarName & "=[a-zA-Z0-9]+"
Set matchCollection = myRegExp.Execute(sURI_Query)
Set match = matchCollection.Item(0)
returnString = Mid(match.value, InStr(match.value, "=")+1, len(match.value))
GetParameterFromURI = returnString
End Function
如果您使用Option Explicit,则必须确保在此之前所有内容都已变暗。我没打扰。
如果其他人需要此功能,我鼓励重新发布此代码;我很沮丧,这么简单的事情让我如此悲伤,不希望任何其他人!