2010-09-13 137 views
1

我寫了一個javascript函數來轉到特定的頁面,如果它來自一個特定的頁面。重定向到下一頁

功能:

function proceed() 
{ 

    if(document.referer == "http://abcd.com/index.php?action=SignUp") 
    { 
    return document.location.href = "http://abcd.com/editprofile.php?action=editprofile"; 
    } 
} 

Submit按鈕,在當前頁面的表單(B):

我想是要經過一系列網頁A-> B-> c,其中a是前一個,b是當前的,c是我的下一個。 b有一個表單,在向表單提交值時,它也應該調用javascript函數,然後轉到頁面c。

任何人都可以幫我找出錯誤在哪裏嗎?任何幫助將不勝感激。謝謝。

+0

請編輯您的問題,以便提交按鈕的代碼也是可見的,用4個空格縮進(埃裏克展示瞭如何做到這一點)。 – 2010-09-13 07:25:53

回答

0

爲了更加準確,您將不得不提供更多的應用程序代碼。

解決方案似乎是以下內容。使用屬性提交您的按鈕:

<button type="button" onclick="proceed(); alert('You are not authorized to execute this action!');">Click Me!</button 
+0

這將是如果(document.re .....)location ='...';其他警報(...);並且不需要javascript:協議 – mplungjan 2010-09-13 07:06:53

+0

您錯誤地關閉了輸入標記。 – Cipi 2010-09-13 07:31:31

+0

哎呀,複製+粘貼錯誤 - 將糾正它 – Thariama 2010-09-13 07:53:02

0

既然你有一個表格我想也有一些PHP/CGI腳本將處理表單的數據!?
在這種情況下,如果您通過JavaScript重載您的提交按鈕以加載另一個頁面(當然,其他情況下驗證的確如此),您的表單將不會繼續使用該腳本。

所以

  1. 你的提交按鈕旁邊都有onclick屬性空間:onclick = "javascript...應該onclick="javascript...
  2. 您的函數proceed()應該返回true以提交執行。
  3. 即使在所有語法校正之後,仍然有些奇怪。畢竟,你只能給你的提交按鈕提供一個「下一頁」功能。那麼表單應該叫什麼:

    • 你的php或cgi腳本?然後你可以建立一個重定向到頁面「C」到那個。
    • 你的頁面「c」?那麼你需要什麼形式?
    • 兩者,但獨立?在這種情況下,我建議從proceed()顯示一個JavaScript彈出頁面「c」並返回true,以便表單繼續其腳本。