В форме обратной связи при введении данных автозаполнением (так делает браузер) сообщение на почту не приходит.
При заполнении вручную все хорошо, нет проблем.
Все нужные куски кода скинул.
$(document).ready(function(){
/*ПРОВЕРЯЕМ НАЖАТА ЛИ КНОПКА ОТПРАВКИ*/
$('.zvonokrecall .button').click(function(){
// собираем данные с формы
var user_name = $('#name').val();
var user_email = $('#email').val();
var user_phone = $('#tel').val();
// отправляем данные
$.ajax({
url: "zvonokrecall.php", // куда отправляем
type: "post", // метод передачи
data: { // что отправляем
"name": user_name,
"email": user_email,
"tel": user_phone,
'cururl':document.location.href
},
error:function(){$(".zvonokrecall .answ").html("Произошла ошибка!");},
/* если произойдет ошибка в элементе с id erconts выведится сообщение*/
beforeSend: function() {
$(".zvonokrecall .answ").html("Отправляем данные...");
},
success: function(result){
/* В случае удачной обработки и отправки выполнится следующий код*/
$('.zvonokrecall .answ').html(result);
$(".zvonokrecall .f_1001").val("");
$(".zvonokrecall .f_1002").val("");
$(".zvonokrecall .f_1003").val("");
console.log("ntcn");
}
});
});
});
<div class="modal fade zvonokrecall" id="zvonokrecall">
<div class="modal-dialog">
<div class="modal-content">
<button type="button" class="close" data-dismiss="modal">
<span aria-hidden="true">×</span>
</button>
<div class="modal-body">
<div class="modal-title">Консультация строителя</div>
<div class="ok">
<i class="fas fa-check"></i>
</div>
<form action="#" method="post" onsubmit="ym(45402159,'reachGoal','zvonokrecall'); return true;">
<div class="input-container">
<input class="f_1001" autocomplete="disabled" type="text" id="name" placeholder="Ваше имя">
<input class="f_1002" autocomplete="disabled" type="tel" id="tel" placeholder="Ваш телефон" >
<input class="f_1003" autocomplete="disabled" type="email" id="email" placeholder="Ваш e-mail" >
</div>
<div class="button">Заказать консультацию</div>
</form>
</div>
<div class="modal-footer answ">Наш менеджер свяжется с вами в ближайшее время</div>
</div>
</div>
</div>
<?php
/*ПОМЕЩАЕМ ДАННЫЕ ИЗ ПОЛЕЙ В ПЕРЕМЕННЫЕ*/
$name = $_POST["name"];
$email = $_POST["email"];
$phone = $_POST["tel"];
/*ЗДЕСЬ ПРОВЕРЯЕМ ЕСЛИ ХОТЯ БЫ ОДНО ИЗ ПОЛЕЙ НЕ ЗАПОЛНЕНО МЫ ВОЗВРАЩАЕМ СООБЩЕНИЕ*/
if($name=="" or $email=="" or $phone==""){
echo "Заполните все поля пожалуйста";
}
else{
/*ЕСЛИ ВСЕ ПОЛЯ ЗАПОЛНЕНЫ НАЧИНАЕМ СОБИРАТЬ ДАННЫЕ ДЛЯ ОТПРАВКИ*/
$to = "vl.pogodaev@mail.ru"; /* Адрес, куда отправляем письма*/
$subject = "Обратный звонок с сайта"; /*Тема письма*/
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
/*ВО ВНУТРЬ ПЕРЕМЕННОЙ $message ЗАПИСЫВАЕМ ДАННЫЕ ИЗ ПОЛЕЙ */
$message = "Имя пользователя: ".$name."<br>";
$message .= "Почта: ".$email."<br>";
$message .= "Телефон: ".$phone."<br>";
/*ДЛЯ ОТЛАДКИ ВЫ МОЖЕТЕ ПРОВЕРИТЬ ПРАВИЛЬНО ЛИ ЗАПИСАЛИCM ДАННЫЕ ИЗ ПОЛЕЙ*/
$send = mail($to, $subject, $message, $headers);
/*ЕСЛИ ПИСЬМО ОТПРАВЛЕНО УСПЕШНО ВЫВОДИМ СООБЩЕНИЕ*/
if ($send == "true")
{
echo "Заявка отправлена - ожидайте звонка.\r\n";
}
/*ЕСЛИ ПИСЬМО НЕ УДАЛОСЬ ОТПРАВИТЬ ВЫВОДИМ СООБЩЕНИЕ ОБ ОШИБКЕ*/
else
{
echo "Не удалось отправить, попробуйте снова!";
}
}
?>