2016-05-24 40 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函数中。