Задать вопрос
@matros97

Не работает отправка почтой AJAX?

Привет, подскажите почему не работает отправка почтой вот форма
<form method="post" id="form" > 
                    <input type="text" name="name" class="form-control" id="" placeholder="Контактное имя">
                    <input type="tel" name="phone" class="form-control" id="" placeholder="Контактный тел">
                    <input type="email" name="email" class="form-control" id="" placeholder="Контактный e-mail">
                    <input type="text" name="product" class="form-control" id="" placeholder="Какой продукт предлагаете">
                    <input type="text" name="price" class="form-control" id="" placeholder="Ссылка на прайс лист">
                    <input type="text" name="site" class="form-control" id="" placeholder="Ссылка на сайт">
                    <textarea class="form-control" name="comemnt" id="" rows="3" placeholder="Комментарий"></textarea>
                    <button type="button" name="submit" class="block_forms_btn" id="btn">Отправить заявку</button>
                </form>

Вот файл где идет отправка
<?
if((isset($_POST['submit'])){ //Проверка отправилось ли наше поля name и не пустые ли они
        $to = 'bestsoft@mail.ru'; //Почта получателя, через запятую можно указать сколько угодно адресов
        $subject = 'Заказ с сайта'; //Загаловок сообщения
        $message = '
                <html>
                    <head>
                        <title>'.$subject.'</title>
                    </head>
                    <body>
                        <p>Имя: '.$_POST['name'].'</p>
                        <p>Телефон: '.$_POST['phone'].'</p>
                        <p>Email: '.$_POST['email'].'</p> 
                        <p>Продукт предлагает: '.$_POST['product'].'</p> 
                        <p>Прайс лист: '.$_POST['price'].'</p> 
                        <p>Cайт: '.$_POST['site'].'</p> 
                        <p>Комментарий: '.$_POST['comemnt'].'</p>                         
                    </body>
                </html>'; //Текст нащего сообщения можно использовать HTML теги
        $headers  = "Content-type: text/html; charset=utf-8 \r\n"; //Кодировка письма
        $headers .= "From: Отправитель <from@example.com>\r\n"; //Наименование и почта отправителя
        mail($to, $subject, $message, $headers); //Отправка письма с помощью функции mail
}
?>


Вот код AJAX(Подключаю в footer)
$('#form button').on('click', function () { //устанавливаем событие отправки для формы с id=form
            var form_data = $(this).serialize(); //собераем все данные из формы
            $.ajax({
            type: "POST", //Метод отправки
            url: "http://foradmins.pp.ua/betalink/send.php", //путь до php фаила отправителя
            data: form_data,
            success: function() {
                   //код в этом блоке выполняется при успешной отправке сообщения
                   $('#btn').text("Ваше сообщение отпрвлено!");
                   alert("Ваше сообщение отпрвлено!");
            }
            });
    });
  • Вопрос задан
  • 72 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
BRAGA96
@BRAGA96
$(this).serialize();

this должен быть form, а не кнопка $('#form button')

$('#from').on('submit', function (event) {
    event.preventDefault();
    // ...
})
Ответ написан
Adamos
@Adamos
<button type="submit" name="submit"
$('#form').on('submit', function () {
            var form_data = $(this).serialize();

Вот тогда в form_data, может быть, и попадут данные из формы
Ответ написан
@matros97 Автор вопроса
Письмо не приходит
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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