2011-08-10 19 views
0

コメントフォームフィールドを持つaspcaptchaを持つASPスクリプトがあり、Webマスターに電子メールを送信します。しかし、訪問者がキャプチャコードを正しく入力しなかった場合は、フォームページに戻ってきますが、キャプチャコードが正しく入力されていないのにフォームフィールドが空白になっているというメッセージが表示されます.... 私はフォームフィールドにコメントを入力し、訪問者にキャプチャコードを再入力するように依頼します。ここで従来のASPフォームフィールド

は、ASPスクリプトです:

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はキャプチャが記入されなかった、とエラーをバックスローするという形に指示します。フォームフィールドに、コメントをもう一度入力することを求めずに既に入力した内容を入力するにはどうすればよいですか?

+0

これは私が現在実行しているのとまったく同じ問題です。この問題の結果に関するフィードバックはありますか? – creativeedg10

答えて

1

私はaspcaptchaを知っているが、2つのpossabiliesません:

まず、自分自身にフォームポストしていますか?つまり、フォームと同じページの処理スクリプトですか?そうならば、単にフォームを処理するために、2ページ目に提出した後、元のページにユーザーを返す場合、セッション変数を使用し、第二Request.Form("name")

<input name="frmName" type="text" id="frmName" value="<% 
    If Request.Form("frmName") <> "" Then Response.Write(Request.Form("frmName")) 
%>" /> 

を使用します。

if CheckCAPTCHA(captha) = true then 
    ' Process form...CAPTCHA IS VALID! 
else 
    Session("frmName") = Request.Form("frmName") 
    response.redirect "myform.asp?c=f" 
end if 

その後

<input name="frmName" type="text" id="frmName" value="<% 
    If Session("frmName") <> "" Then Response.Write(Session("frmName")) 
%>" /> 

希望するもの...

+0

私は自分自身に投稿するフォームを持っています。フォーム処理は、フォーム自体と同じページにあります。私のフォームは、チェックボックスとラジオボタンだけをクリアします。私はテキスト入力項目を保持する方法を見つけることができました。何かご意見は?私はあなたの例(#1)がテキスト入力用であることに気付きました。どんな助けでも大歓迎です。 – creativeedg10

0

これらのケースでは、通常、関数が役立ちます必要に応じてあなたのフォームは、関数を使用することができます

'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 

例えばを:よう

することは何かを試してみてください

<input name="frmName" type="text" id="frmName" value="<% SelectValue(Session("frmName"), Request.Form("frmName"))%>" /> 
関連する問題