@HovardRork
Верстальщик

Как сделать редирект на предидущую страницу при отправке формы на Мэйл?

При отправке формы, юзер попадает на пустую страницу "send.php". Как сделать так, чтобы он возвращался страницу, с которой он отправлял форму?
Код формы:
$("#form").submit(function() { //устанавливаем событие отправки для формы с id=form
            var form_data = $(this).serialize(); //собераем все данные из формы
            $.ajax({
            type: "POST", //Метод отправки
            url: "send.php", //путь до php фаила отправителя
            data: form_data,
            success: function() {
                   //код в этом блоке выполняется при успешной отправке сообщения
                   alert("Ваше сообщение отпрвлено!");
            });
    });

<?
if((isset($_POST['name'])&&$_POST['name']!="")&&(isset($_POST['phone'])&&$_POST['phone']!="")&&(isset($_POST['radio'])&&$_POST['radio']!="")){ //Проверка отправилось ли наше поля name и не пустые ли они
        $to = 'govardrorkmk@gmail.com'; //Почта получателя, через запятую можно указать сколько угодно адресов
        $subject = 'Обратный звонок'; //Загаловок сообщения
        $message = '
                <html>
                    <head>
                        <title>'.$subject.'</title>
                    </head>
                    <body>
                        <p>Имя: '.$_POST['name'].'</p>
                        <p>Телефон: '.$_POST['phone'].'</p>
                        <p>Размер: '.$_POST['radio'].'</p>                            
                    </body>
                </html>'; //Текст нащего сообщения можно использовать HTML теги
        $headers  = "Content-type: text/html; charset=utf-8 \r\n"; //Кодировка письма
        $headers .= "From: Отправитель <govardrorkmk@gmail.com>\r\n"; //Наименование и почта отправителя
        mail($to, $subject, $message, $headers); //Отправка письма с помощью функции mail
}
?>
  • Вопрос задан
  • 153 просмотра
Пригласить эксперта
Ответы на вопрос 2
igorperegudov
@igorperegudov
Frontend-developer
$("#form").submit(function(e) { //устанавливаем событие отправки для формы с id=form
e.preventDefault();
            var form_data = $(this).serialize(); //собераем все данные из формы
            $.ajax({
            type: "POST", //Метод отправки
            url: "send.php", //путь до php фаила отправителя
            data: form_data,
            success: function() {
                   //код в этом блоке выполняется при успешной отправке сообщения
                   alert("Ваше сообщение отпрвлено!");
            });
    });

добавьте в вызов функции аргумент "e"
а затем остановите стандартное дейсвтие методом
e.preventDefault();

и вас не будет перенаправлять на php файл а форма будет отправляться, можете показывать попап "Успешно отправлено" (не через alert)
для юзера так будет более удобно
Ответ написан
Комментировать
@raw1
Убери тег form
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы