我有一个非常简单的下拉菜单:
<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>
除此之外,请检查变量名。