将表单值从标准html表单传递到asp页面,但尝试手动传递它们不起作用。这是ASP经典的一些奇怪吗?为了概述这种情况,我有以下标准形式:
<form name="login" id="login" method="post" action="login_process.asp">
<input name="userName" type="text" size="30" maxlength="100" />
<input name="password" type="password" size="30" maxlength="100" />
<input name="Submit" type="submit" class="btn" value="Login" />
</form>
在接收端(login_process.asp),我有这个:
if Request.Form("Username") <> "" and Request.Form("Password") <> "" then
' do stuff here
现在奇怪的是,这种形式已经存在多年并且确实有效。但是,如果我尝试手动将值传递给login_process.asp,则值永远不会成功:
www.zzz.com/login_process.asp?username=some_user&password=some_password
我在login_process.asp中添加了一些检查,看看我是否可以在提交之前从提交中提取变量:
myUsername = request.form("Username")
myPassword = request.form("Password")
response.write "user=" & myUsername
response.write "pass=" & myPassword
我所得到的只是
user=pass=
显然数据没有通过。但为什么?我在俯瞰什么?传递表单数据是基本的东西所以给出了什么?
任何见解都表示赞赏!
答案 0 :(得分:2)
如果您在查询字符串上传递表单,则不再使用该表单,因此 Request.Form 将无效。您需要使用 Request.QueryString 。
更多信息here
答案 1 :(得分:0)
我们可以使用“Request.Form”将表单字段数据输入到其他页面。为此,请尝试以下代码:
<form name="login" id="login" method="post" action="login_process.asp">
<input name="userName" type="text" size="30" maxlength="100" />
<input name="password" type="password" size="30" maxlength="100" />
<input name="Submit" type="submit" class="btn" value="Login" />
</form>
我们在login.process.asp页面中获取表单数据是这样的:
<% Response.Write(Request.Form("userName")) %>
它将显示userName值