<< Транcлитерация в PHP НАПИСАНИЕ ТЗ ДЛЯ САЙТА >>

Событие после отправки формы, или некоторые тонкости метода submit

Потребовалось тут однажды выполнить редирект средствами JavaScript, аккурат после отправки формы. Поскольку никакого события типа AfterSubmit в природе не существует, вешаем с помощью JQuery обработчик на событие submit, и будем делать всё в этой функции.

$('#myform').submit(function(e) {
    this.submit();
    window.location.href = 'http://example.com/';
});

Казалось бы, чего проще, и в опере все работало отлично. Однако запустив код в Chrome обнаружил непонятную вещь, редирект успешно проходил, а на сервер ничего не отправлялось.

Для того, чтобы прошла отправка формы, приходится сделать следующий финт ушами.

$('#myform').submit(function(e) {
    this.submit();
    setTimeout(function() {
        window.location.href = 'http://example.com/';
    }, 100);
});

Просто вешаем редирект на таймер через 100 миллисекунд, и всё работает.



29.06.2019 108 Gor Abrahamyan -> web developer : views