• 締切済み

history.backの前に値をクリアしたい

以下のようなソースを作りました。 reccheck.phpで、チェックしてエラーだと、ここに戻ってエラー表示をするのですが、その後に「戻る」を押しても、同じエラーにかかって、画面が移りません。 ここで使っているerr_swの値をクリアすることはできないでしょうか? <?php $err_sw = $_POST['errsw']; ?> <html><head> <SCRIPT language="JavaScript"> <!-- function msg(sw){ if(sw==3){ alert("エラー"); return false; } return true; } function Check(){ if(document.check.frec.value=="on"){ if(document.check.USER_ID.value==""){ alert("IDを入力"); return false; } if(document.check.USER_PS.value==""){ alert("PW入力"); return false; } return true; } return true; } function Back(){ window.document.check.USER_ID.value = ""; window.history.back(); } // --> </SCRIPT> </head> <body onload="msg(<?echo $err_sw?>)"> <form name="check" action="reccheck.php" method="POST" onSubmit="return Check()"> <input type="hidden" name="OK_URL" value="ok.php"> <input type="hidden" name="ER_URL" value="test.php"> <table><tr> <td>ユーザID</td> <td><input type="text" name="USER_ID" size="8"></td> </tr><tr> <td>パスワード</td> <td><input type="text" name="USER_PS" size="8"></td> </tr></table> <table><tr> <td><input type="button" value="戻る" class="font12" onclick="return Back()"> </td><td> <input type="submit" value="送信" class="font12">

みんなの回答

  • you111111
  • ベストアンサー率45% (20/44)
回答No.1

この場合、history.back()するとreccheck.phpへもどりますよね? 実際戻り先はreccheck.phpではないはずですので、 function Back()の処理を function Back(){ check.action = "本来戻るべきページ"; check.submit(); } とする方がよいのでは?

arisa5
質問者

お礼

お答えいただき、ありがとうございます。 確かに、ご指摘のとおり、戻りはそこですよね... 参考にさせていただきます。

すると、全ての回答が全文表示されます。

関連するQ&A