2011-02-13 236 views
0

我有一個表單發佈到iFrame進行處理。然後,iFrame會在父窗口中向前發送一個表單以進行確認。iFrame重定向到錯誤頁面

我在確認中添加了一個會話變量,表示該過程已完成。

如果用戶單擊後退按鈕,iFrame中的表單會重定向到錯誤頁面,但顯然會顯示在iFrame中。

我該如何在父級中創建錯誤頁面觸發器?

If Session("Complete") = 1 Then 
    Response.Redirect("default.asp?Re-Entry") 
End If 

回答

0

取而代之的是Response.Redirect的,你應該使用以下命令:

Response.Write("<script language='Javascript'>" + _ 
       "window.parent.document.location.href = " + _ 
       "'default.asp?Re-Entry';" + _ 
       "</script>") 

它會發送回的iFrame的JavaScript的一部分,將指示它的父(主頁)導航到錯誤頁面。

這裏是我的測試的完整代碼:

<%@ Language="VBScript" %> 
<% 
    If Request("op") = "process" Then 
     If Session("Processed") = 1 Then 
      Response.Write("<script>" + _ 
          "window.parent.document.location.href = " + _ 
          "'error.asp?msg=AlreadyProcessed';" + _ 
          "</script>") 
     Else 
      Session("Processed") = 1 
      Response.Write("<script>" + 
          "alert('Hello, " + Request("name") + "!');" + _ 
          "</script>") 
     End If 
     Response.End 
    End If 
%> 
<html> 
    <body> 
     <iframe name="parallel" id="parallel" width="100%" height="50" /> 

     <form method="POST" target="parallel" action="iFrame.asp"> 
      <input type="hidden" name="op" value="process" /> 
      <b>Your Name</b><br/> 
      <input type="text" name="name" width="250" /><br/> 
      <button type="submit">Submit!</button> 
     </form> 
    </body> 
</html> 

我希望它能幫助。

+0

我試過的代碼,但它沒有工作是錯誤的?任何想法爲什麼? – 2011-02-13 14:05:14

+0

頁面出現任何JS錯誤,或者它什麼也沒做?你正在使用哪種瀏覽器? – 2011-02-13 14:23:26

-1

我認爲ü[R使用的代碼,根據我,如果u使用下面的代碼,可以幫助ü

Response.Write("<scr" + "ipt language='Javascript'>" + _ 
       "document.parent.navigate('default.asp?Re-Entry');" + _ 
       "</scr" + "ipt>")