2016-05-24 3 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");), но это не работает.

Мое предположение заключалось в том, что эти функции выполнялись одновременно с представлением, в результате чего подчинение выполнялось над ними. Итак, я добавил setTimeout для function goHome(); для выполнения или попробовал window.onload = goHome();, но ничего не работает.

Любые предложения?

PS: Я не использую jQuery.

ответ

0

Поскольку вы используете стандартный процесс отправки HTML FORM, старая страница уничтожается и загружается новая страница.

Есть два решения:

  • Лучший способ: Есть то, что страница, которую вы отправить форму, чтобы выдать HTTP перенаправления в его заголовке.

  • Намного менее желательным способом: Отправьте форму через Ajax, а затем повторите попытку JavaScript после успеха.

+0

Я не знаю, как это работает, и Google, похоже, не возвращает мне ничего. Кроме того, я нахожусь на локальном хосте. – YoshimitsU

0

Установите соответствующую часть главы HTML-файла включить

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

внутри вашей функции GOHOME.

Смежные вопросы