2016-05-24 39 views
0

我有一個表格:的Javascript - 重定向到網頁表單提交後

<form name="orderform" onsubmit="submitForm()"> 
HTML HERE 
. 
. 
. 
<button type="submit" name="submitbutton" id="submitbutton">Submit</button> 

和功能:

function submitForm() 
{ 
submitted = true; 
goHome(submitted); 
} 

function goHome(submitted) 
{ 
    if(redirect == submitted) 
{ 
    alert("form submitted"); 
    document.location.href = "index.html"; 
} 
} 

我試圖讓我的網頁顯示一條警告消息,然後在提交表單後重定向到index.html,但我似乎無法以任何方式得到它。 我試過在提交按鈕時使用onClick,或者純粹用Javascript提交表單(document["orderform].submit();document.getElementById("orderform");),但沒有奏效。

我的猜測是這些函數在提交的同時被執行,導致提交對它們執行。所以,我加setTimeoutfunction goHome();要執行或試用window.onload = goHome();,但似乎沒有任何工作。

有什麼建議嗎?

PS:我沒有使用jQuery。

回答

0

因爲您正在使用標準的HTML FORM提交過程,所以舊頁面被銷燬並且加載了新頁面。

解決辦法有兩個:您所提交的任何頁面的形式發出HTTP在其頭部重定向有:

  • 的最好方法。

  • 更不理想的方式:通過Ajax提交表單,然後在成功時重新執行JavaScript。

+0

我不知道這是如何工作,谷歌似乎沒有給我任何回報。此外,我在本地主機。 – YoshimitsU

0

設置HTML文件頭部的相應部分,包括

<meta http-equiv="REFRESH" content="3;url=index.html"> <!-- 3 seconds to reload here --> 

您GOHOME函數中。