アプリ版:「スタンプのみでお礼する」機能のリリースについて

前ページより、POSTされた「Request.Form(key)」の中身をクリアする方法を教えて下さい。
(key・・・フォーム要素名を指します。)

例えば、前ページで、
「<INPUT TYPE = "HIDDEN" NAME = "reload" VALUE ="1">」でPOSTする。
次ページでは、

<% If Request.Form("reloada") = 1 Then %>
<body onload ="init()">
<% Request.Form("reloada") = 0 %>
<% Else %>
<body>
<% End If %>

と、いうように、POSTされた値を用い判定処理が終わったら、Request.Form("reloada")の中身を「0」または「NULL」のようにクリアにしたいのです。
上記のように、「<% Request.Form("reloada") = 0 %>」とするとエラーになります。
実現方法を教えて下さい。お願い致します。

A 回答 (2件)

画面1 → (サブミット) → 画面2 → (サブミット) → 画面3 → (ブラウザの戻る) → 画面2


と動かした場合に、画面2でinit()が呼ばれないようにする、ということですか?

戻るボタンを押した場合ですが、ASPは実行されずに以前のままの画面が表示されているかと思います。
ASPではなく、クライアント側のスクリプトで対応できないでしょうか。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS">
<title>テスト用</title>
<script language="JavaScript">
function init()
{
if (document.form1.reload.value == "1") {
return;
}
document.form1.reload.value = "1"; //initを実行したことのフラグ
document.form1.aaa.value = "DEFAULT";
}
</script>
</head>
<body onload="init();">
<form name="form1" action="page2.asp" method="post">
<input type="text" name="aaa">
<input type="submit">
<input type="hidden" name="reload" value="0">
</form>
</body>
</html>

一応IE6ではできるようでしたが、他のブラウザや設定によってはダメかもしれません。
また、もしもサーバー側のASPが再度呼ばれているようでしたら、この方法は使えません。
    • good
    • 1
この回答へのお礼

ありがとうございました。

お礼日時:2005/05/08 23:41

Requestに対して値の代入は(たぶん)できません。



一旦変数に代入してはどうですか?
(クリアしたい理由が解からないので的外れかもしれませんが)

<%
Dim strReload
strReload = Request.Form("reload")
If strReload = "1" Then
%>
<body onload ="init()">
<% strReload = "0" %>
<% Else %>
<body>
<% End If %>

この回答への補足

ご回答、ありがとうございました。
クリアしたい理由は、ページ間でデータの受け渡しを変えるのが目的です。
1つのページにおいて、前ページからは、
「Request.Form("reload")」で、データを受け取ります。
ただ、次のページに遷移した場合で、戻ってきた、つまり次ページで、ブラウザの戻るをクリックした場合、「Request.Form("reload")」のデータは、空白にしておきたいのです。
このページが、前ページから遷移されたものか、それとも次ページより戻ってきたのかを判断させたいのです。

説明不足で申し訳なかったのですが、sawaganiさんのソースですと、毎回「Request.Form("reload")」にデータが入っている事になるので、「Request.Form("reload")」の中身を空白(NULL)にする方法を教えて下さい。

よろしくお願い致します。

補足日時:2005/03/15 10:26
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2005/05/08 23:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!