如何在使用经典ASP发布表单之前执行一些代码

时间:2011-01-24 09:17:49

标签: forms cookies post asp-classic

使用经典ASP,我想在提交表单之前执行一些代码,下面是我的代码。 我想在将表单发布到另一个页面之前将登录凭据存储到cookie中。

请注意,我发布的是一个保存在单独域中的ASP.NET页面。

另一个例子,只是为了让这个更清楚。假设我想在发布之前验证字段而不使用JavaScript。

<%
dim uname
uname= Request.Cookies("username")
%>

<FORM action="httppost_login.aspx" METHOD ="post" > 
<br />Username: <INPUT NAME ="username" SIZE ="30" maxlength="15" value="<% if uname <>"" then response.write(uname) %>" /> 
<br />Password: <INPUT NAME ="password" SIZE ="30" type=password maxlength="20" />
<br />
<INPUT TYPE ="SUBMIT" value="Login" name="btnSubmit" /> 
<input type="checkbox" name="remember" value="Remember my username" <%if uname <> "" then Response.Write("checked")%> />Remember my username
</FORM> 

<%

If Request.Form("btnSubmit") <> "" Then
uname=Request.Form("username")
dim rememberme
rememberme = request.form("remember")
if rememberme <> "" and uname <> "" then
Response.Cookies("username") = uname 
Response.Cookies("username").Expires = Date() + 30   
end if
end if
%>

2 个答案:

答案 0 :(得分:1)

按下提交按钮后,您无法运行代码 easilly

这归结为设计。您的表单操作是:

httppost_login.aspx

实现目标的“标准”方法是在该页面上设置处理cookie /其他任何内容的代码。

我通常会给表单操作一个查询字符串:

<FORM action="httppost_login.aspx?action=login" METHOD ="post" >

然后在该页面上,有:

Dim strPageAction

strPageAction = request.querystring("action")

if(strPageAction = "login" then
    'Put your cookie code here, request.form("username") etc will still work!
end if

答案 1 :(得分:0)

是的,重定向页面可以使用xmlhttp

发布到第三方页面