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



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

<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时可能吗?我更喜欢一种简单的方法,因为我认为这项任务应该是简单的,但在这一点上,我愿意接受我能得到的一切。

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主持人:example.com内容类型:application/x-www-form-urlencoded内容长度:20submit=提交%20表单

然后,您可以在该页面的任何位置插入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

尝试用双引号包装您的value属性值。

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

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

最新更新