2014-01-02 4 views
0

Что я хочу сделать, когда нажата кнопка отправки, пользователь перенаправляется через 5 секунд после отправки формы.Переадресация через 5 секунд при нажатии кнопки

код:

<input type="submit" id="submit" value="Submit" onClick="window.location.reload()"> 

Я попытался это и другие варианты, но это перенаправление мгновенно.

+0

Если вы хотите использовать чистый PHP, вы можете использовать функцию '' sleep() '(http://ca2.php.net/sleep) –

+0

Вы используете AJAX для отправки формы? Можете ли вы показать больше «формы» (например: 'метод' и' действие' 'формы')? –

ответ

3

Одним из возможных решений является

setTimeout(function(){window.location.reload();}, 5000) 
+1

Это не обязательно работает, если форма отправляется на сервер без JS. – putvande

+0

@ Fred-ii- Вы правы. Обновлено. – opalenzuela

+0

@putvande, он уже использует «onclick», поэтому Javascript на стороне клиента ... Я считаю, что нет никакой существенной разницы, кроме задержки. – opalenzuela

0

С onClick вызову Javascript функции, и от функции ожидания и перенаправления.

0

Если вы хотите отправить форму и затем перенаправить, вам необходимо использовать вызовы ajax на php-страницу для хранения данных, а затем перенаправить себя после 5 секундного сна.

Else, если вы хотите, чтобы форма была отправлена ​​только через 5 секунд, тогда просто добавьте таймер сна, после чего javascript представит форму позже.

0

вы можете использовать это на вас событие кнопки вызова:

setTimeout("document.forms['form_name'].submit()",5000); 
-1

Предполагая, что вы используете JQuery:

$("#submitButton").on("click", function(event) { 
    event.preventDefault(); 

    setTimeout(
     function(){ 
      $("#myForm").submit(); 
     }, 
     5000 
    ); 
}); 

Рабочий пример: http://jsfiddle.net/TeCuq/

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