Mesuti
@Mesuti

Редирект после отправки письма с конкретной формы?

Привет!
Есть html страница (Песочница jsFiddle)
На ней есть:
- несколько кнопок на одну всплывающую форму обратной связи (товары) С кнопок при нажатии берется value и прописывается в скрытое поле формы.
- просто отдельная форма обратной связи.

Отправка писем обрабатываются одним Ajax скриптом:
Spoiler
$(document).ready(function() {
            $("form").submit(function() {
                var $cfsubmit = $("#cfsubmit"),
                    cfsubmitText = $cfsubmit.text();
                var th = $(this);
                $.ajax({
                    type: "POST",
                    url: "contact-form/mail.php",
                    data: th.serialize()
                }).done(function() {
                    notie.alert({
                        type: 1,
                        text: 'Отправлено! Мы свяжемся с Вами',
                        time: 3
                    });
                    setTimeout(function() {
                        th.trigger("reset");
                    }, 1000);
                });
                return false;
            });             
        });


С кнопок на всплывающую форму берется value и прописывается в форму этим скриптом:
Spoiler
(function() {
    function buttonClick() {
      document.getElementById("buttonInfo").value = this.value;
    }
    var buttons = document.querySelectorAll("#item");
    for (var i = 0; i < buttons.length; i++) {
      buttons[i].addEventListener("click", buttonClick);
    }
  })();

Какой скрипт можно прописать кнопке вызова всплывающей формы, чтобы после успешной отправки формы шел редирект на нужную страницу?
Эти редиректы могут быть разными, либо вовсе не быть.

p.s. Ищу варианты с onclick на кнопку и без onclik (прописывается в скрипте по id)
p.p.s window.location.href = 'your_url'; после триггера будет работать вообще для всех форм. А нужно настраиваемый вариант о вызову кнопки
  • Вопрос задан
  • 251 просмотр
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
У вас после отправки всплывает нотификация, а затем через секунду по таймауту срабатывает триггер reset можно написать редирект в таймаут:
setTimeout(function() {
  th.trigger("reset");  // удалить если не нужен
  window.location.href = 'your_url';
}, 1000);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
neuotq
@neuotq
Прокрастинация
Http-редирект реализуется так:
window.location.replace("https://ya.ru");
Поэтому пиши все свои обработчики, проверки и тп, а затем перенаправляй на нужно тебе страницу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы