首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >传统ASP表单域

传统ASP表单域
EN

Stack Overflow用户
提问于 2011-08-11 00:46:15
回答 2查看 4K关注 0票数 0

我有一个ASP脚本与aspcaptcha其中有评论表单字段,并发送一封电子邮件给网站管理员。然而,如果访问者没有正确输入验证码,他们将被带回表单页面,一条消息表明他们没有正确填写验证码,但表单字段为空。我希望将注释保留在表单字段中,并要求访问者重新填写验证码。

下面是ASP脚本:

代码语言:javascript
复制
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
captha = Trim(Request.Form("captha"))
if CheckCAPTCHA(captha) = true then
    ' Process form...CAPTCHA IS VALID!
else
    response.redirect "myform.asp?c=f"
end if
else
response.redirect "myform.asp?v=f"
end if

变量v=f告诉表单验证码没有填写,并抛出一个错误。如何使用访问者已经输入的内容填充表单域,而不要求访问者重新输入备注?

EN

回答 2

Stack Overflow用户

发布于 2011-08-11 22:15:46

我不知道aspcaptcha,但有两种可能性:

首先,表单是否会发送到自身?也就是说,处理脚本是否与表单在同一页上?如果是这样,那么只需使用Request.Form("name")

代码语言:javascript
复制
<input name="frmName" type="text" id="frmName" value="<%
    If Request.Form("frmName") <> "" Then Response.Write(Request.Form("frmName"))
%>" />

其次,如果表单提交到第二个页面进行处理,然后将用户返回到原始页面,请使用会话变量:

代码语言:javascript
复制
if CheckCAPTCHA(captha) = true then
    ' Process form...CAPTCHA IS VALID!
else
    Session("frmName") = Request.Form("frmName")
    response.redirect "myform.asp?c=f"
end if

然后

代码语言:javascript
复制
<input name="frmName" type="text" id="frmName" value="<%
    If Session("frmName") <> "" Then Response.Write(Session("frmName"))
%>" />

希望这能帮上忙。

票数 1
EN

Stack Overflow用户

发布于 2012-05-09 23:53:51

在以下情况下,函数通常会有所帮助:

尝试如下所示:

代码语言:javascript
复制
'Select between Session Value / Form Value
function SelectValue(sessionValue, frmValue)
    result = ""
    if isnull(frmValue) or frmValue = "" then
        result = sessionValue
    else
        result = frmValue
    end if
    SelectValue = result
end function

然后,您的表单可以根据需要使用该函数:

,例如

代码语言:javascript
复制
<input name="frmName" type="text" id="frmName" value="<% SelectValue(Session("frmName"), Request.Form("frmName"))%>" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7014590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档