@danil_linkins

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

На сайте johny-gyro.ru форма отправляется аяксом, то есть без перезагрузки страницы.
Но есть отдельное место где это не работает - окно продукта на всех трех продуктах, после отправки сайт сразу перекидывает на файл php отправителя, который указан в action. (само окно продукта сделано на jquery product quick view)

Вот форма:
<form method="POST" class="mail-to" action="mail.php">
									<input type="text" name="phone" required placeholder="Телефон">
									<input class="my-btn yellow-my-btn" type="submit" value="Отправить">
								</form>


Скрипт обработчик:
$("form").submit(function(e) { //устанавливаем событие отправки для формы с id=form
        e.preventDefault();
        var form = $(this);
        var form_data = $(this).serialize(); //собераем все данные из формы
        $.ajax({
            type: "POST", //Метод отправки
            url: form.attr('action'), //путь до php фаила отправителя
            data: form_data,
            success: function() {
              // yaCounter43092004.reachGoal(goal);
              //код в этом блоке выполняется при успешной отправке сообщения
              $('#thankyouModal').modal('show');
              form[0].reset();
		}});
    });


И mail php:
<?php
// несколько получателей
$to  = 'mail@yandex.ru';  // обратите внимание на запятую

// тема письма
$subject = 'Заявка на сайте johny-gyro (' . date("Y-m-d H:i:s") . ')';

// текст письма меняется он!!
$message = '' . $_POST['phone'];

// Для отправки HTML-письма должен быть установлен заголовок Content-type
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'Content-Transfer-Encoding: 8bit' . "\r\n"; 

// Дополнительные заголовки
$headers .= 'To: info <info@mail.ru>' . "\r\n"; // Свое имя и email
$headers .= 'From: no-replay@mail.ru ' . "\r\n";

// Отправляем
mail($to, $subject, $message, $headers);
?>


Живой пример можно посмотреть на самом сайте.
Подскажите, пожалуйста, кто работал с таким, может ошибся где.
  • Вопрос задан
  • 1889 просмотров
Пригласить эксперта
Ответы на вопрос 2
mrusklon
@mrusklon
Не получается? Яростно гугли!
а где код всех форм? может не указан type submit .. мало инфы
Ответ написан
@Xfer
Убрать "action" вас и отправляет на mail.php

url: ('mail.php')
Ответ написан
Ваш ответ на вопрос

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

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