使用asp / VBscript访问下拉菜单值

时间:2014-10-01 03:15:38

标签: drop-down-menu vbscript asp-classic request.form

我有一个非常简单的下拉菜单:

<select name="sNumR" id="sNumR" onChange="addTable()">
    <option value=1>1</option>
    <%For i=2 to 10
        Response.write("<option value="&i&">"&i&"</option>")
    Next%>
</select>

我尝试做的就是访问所选的值,无论是默认值1还是其他值。请不要列出jQuery或javascript解决方案,因为我已经知道如何做到这一点并且根本不关心它。

简单:Request.Form("sNumR")不起作用。我已经尝试了很多次......

我错过了什么?这甚至可以用vbscript / asp吗?我更喜欢一种简单的方法,因为我相信这项任务应该是,但此时我愿意接受我能得到的任何东西。

2 个答案:

答案 0 :(得分:2)

只有在提交数据后才能访问

Request.Form()集合,您可以使用客户端代码触发表单提交或使用<input type="submit" />

来执行此操作

这整个机制依赖于您的<select><input>标记包含在<form>标记内的事实。表单具有您必须设置为访问Request.Form()集合的特定属性。

  • action - 指定您提交表单的URL,空字符串将提交到当前页面。

  • 方法 - GET(填充Request.QueryString()集合)或POST(填充Request.Form()集合。

一个简单的HTML表单示例就是这样;

<html>
  <head>
    <title>Sample Form</title>
  </head>

  <body>
    <form action="" method="post">
      <input type="submit" name="submit" value="Submit Form" />
    </form>
  </body>
</html>

这将为当前页面创建POST表格(假设它被称为example.asp

POST /example.asp HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 20

submit=Submit%20Form

然后,您可以在该页面的任何位置插入ASP以访问Request.Form()集合,例如,将此代码放在example.asp中的HTML上方

<%
Dim is_submit
'Have we submitted the form?
is_submit = (Request.Form("submit") = "Submit Form")

Response.Write "Form submitted: " & is_submit
%>

提交前会生成Form submitted: False,提交后会生成Form submitted: True

答案 1 :(得分:0)

尝试使用双引号包装值属性值。

<option value="1">1</option>

除此之外,请检查您的变量名称。