Задать вопрос
@Gagatyn
Самоучка

Где я допустил ошибку в отправке формы?

Здравствуйте. Не могу понять в чем допустил ошибку в простой форме. Срабатывает error и выводит алерт "Возникла ошибка". Подскажите пожалуйста.
<form name="feedback" method="post" id="fb">
          <span class="cls_fb"></span>    
          <input type="text" name="name" placeholder="name" pattern="[a-Zа-Я]" required="required"><br>
          <input type="text" name="phone" placeholder="phone"><br>
          <input type="email" name="email" placeholder="email" required="required"><br>
          <input type="submit" name="submit" value="Отправить">
        </form>

<?php
$name = strip_tags($_POST['name']);
$phone= strip_tags($_POST['phone']);
$email = strip_tags($_POST['email']);
if(!empty($name) && !empty($phone) && !empty($email)) {
        $to = 'exmp@mail.ru' . ', ';
        $to .= 'exmp@yandex.ru';
        $subject = 'Exmp';
        $message = '
                <html>
                    <head><title>'.$subject.'</title></head>
                    <body>
                        <div>Имя: '.$name.'</div>
                        <div>Phone: '.$phone.'</div>
                        <div>Почта: '.$email.'</div>
                    </body>
                </html>';
        $headers  = "Content-type: text/html; charset=utf-8 \r\n";
        $headers .= "From: " . $name . " <" . $email . ">\r\n"; 
        mail($to, $subject, $message, $headers);
}
?>

$("#fb").submit(function() {
            var form_data = $(this).serialize();
            /*var form_name = $("input[name='name']").val(),
                form_phone = $("input[name='phone']").val(),
                form_email = $("input[name='email']").val();*/
            console.log(form_data);
            $.ajax({
                type: "POST",
                url: "../send_mail.php",
                data: form_data
                /*{
                    form_name,
                    form_telegram,
                    form_email
                }*/,
                success: function() {
                       alert("Спасибо! Ваше сообщение отправлено.");
                },
                error:  function(xhr, str){
            	    alert('Возникла ошибка');
            	    console.log(xhr.responseCode, str); // undefined "error"
            	    debugger; 
                }
            });
    });
  • Вопрос задан
  • 361 просмотр
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
@nozzy
Symfony, Laravel, SQL, Python, Telegram
$("#fb").submit(function(e) {
e.preventDefault();
......
}
Ответ написан
colonel
@colonel
Разработчик PHP, Laravel
Попробуйте отладить через панель разработчика, например в Chrome.
Перейдите на вкладку Network, очистите там все предыдущие запросы (для удобства),
нажмите вашу кнопку, в списке появятся результаты запроса к серверу, щёлкните на нужном и выберите Preview.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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