@GIRUPC
Веб-программист

Не срабатывает ajax при отправке формы?

Вот сайт. Не срабатывает аякс при отправке формы. Данные на почту приходят, но при отправке происходит переход к обработчику, а в идеале при отправке должен быть алерт с сообщением. До этого использовал бутсрап модал в этот раз использую remodal.js, но сомневаюсь что дело в этом. Подскажите в чем ошибка& как такие ошибке отлавливать в devtools? В консоли нечего необычного не появляется

Вот код обработчика
<?php
if (isset($_POST['name'])) {$name = $_POST['name']; if ($name == '') {unset($name);}}
if (isset($_POST['email'])) {$email = $_POST['email']; if ($email == '') {unset($email);}}
if (isset($_POST['tel'])) {$phone = $_POST['tel']; if ($phone == '') {unset($phone);}}
if (isset($_POST['message'])) {$message = $_POST['message']; if ($message == '') {unset($message);}}
if (isset($name) && isset($email)){
if ($_POST['form']) {$formType = $_POST['form'];}
$address = "yagofarov.vadim@mail.ru";
$message = "Имя: $name \n
E-mail: $email \n
Телефонный номер: $phone\n";
$send = mail($address,"Заполнена контактная форма на сайте RONAWEB.RU",$message,"Content-type:text/plain; charset = UTF-8"); 

}
  • Вопрос задан
  • 149 просмотров
Пригласить эксперта
Ответы на вопрос 3
@freekirill
Пишу под Битрикс
https://yadi.sk/i/YN-YVXJPyOgmrQ строчка с обработчиком закомментирована
Ответ написан
@senior65
Где находится форма с кнопкой, напиши атрибут onclick="return false"
Например:
<a onclick="return false;">Отправить заявку</a>
Тем самым мы предотвращаем переход к обработчику, и даем работать аяксу
есть несколько вариаций:
return false;
e.preventDefault;
e.stopPropagation;
Почитай в гугле о них!
Ответ написан
Комментировать
ARX2
@ARX2
Web-разработчик | Священник
Открой var_dump($_POST);
<?php
if (isset($_POST['name'])) {$name = $_POST['name']; if ($name == '') {unset($name);}}
if (isset($_POST['email'])) {$email = $_POST['email']; if ($email == '') {unset($email);}}
if (isset($_POST['tel'])) {$phone = $_POST['tel']; if ($phone == '') {unset($phone);}}
if (isset($_POST['message'])) {$message = $_POST['message']; if ($message == '') {unset($message);}}
if (isset($name) && isset($email)){
if ($_POST['form']) {$formType = $_POST['form'];}
var_dump($_POST);
die;
$address = "yagofarov.vadim@mail.ru";
$message = "Имя: $name \n
E-mail: $email \n
Телефонный номер: $phone\n";
$send = mail($address,"Заполнена контактная форма на сайте RONAWEB.RU",$message,"Content-type:text/plain; charset = UTF-8"); 

}


Потом щелкаешь f12 -> network -> отслеживаешь свой ajax запрос -> смотришь что тебе возвращает POST и сверяешь с условиями
------------------------------------------

$message = "Имя: $name \n
E-mail: $email \n
Телефонный номер: $phone\n";


Зачем ты здесь переменные передаешь как обычные строчки?

Если ты хочешь сюда содержимое переменных вставить, тогда должно выглядеть так:

$message = "Имя: ".$name." \n
E-mail: ".$email." \n
Телефонный номер: ".$phone."\n";
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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