@Qumbeez

Почему не работает форма в модальном окне?

Всем привет. Вопрос заключается в том, что на сайте bonasfide.ru в правом углу есть иконка телефона. При нажатии открывается модальное окно в которой расположена форма. На странцие с контактами точно такой же код для другой формы работает, но для этой он отказывается. При submit он просто обновляет страницу и в сроке url отображает данные формы, никуда не отправляет их.
Код JS:
$("#callme").submit(function() {
    $.ajax({
        type: "POST",
        url: "/wp-content/themes/bonasfide/assets/js/form/callme.php",
        data: $(this).serialize(),
    }).done(function() {
        alert("Спасибо! Мы скоро с вами свяжемся.");
        $("#callme").trigger("reset");
    });
    return false;
});


Код php:
<?php

// Получаем данные из формы
$telephone = trim($_POST["telephone"]);

// Данные для писем
$recepient = "qumbeez@ya.ru";
$sitename = "BONASFIDE";
$body = "Телефон: $telephone";
$title = "Новый звонок с сайта \"$sitename\"";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "From: $recepient <info@bonasfide.ru>\r\n";

// Отправка писем
mail($recepient, $title, $body, $headers);

?>


В чём может быть проблема?
  • Вопрос задан
  • 1654 просмотра
Решения вопроса 1
pashted
@pashted
тыжпрограммист
попробовал я у себя ... работает. но вот на вашей странице после нажатия на телефон я вижу 2 формы с одним айдишником.
появляется новый блок #custombox-modal и в него добавляется ваша форма.
то есть на момент загрузки страницы форма, к которой привязан скрипт, отсутствует в дереве элементов. поэтому она и не реагирует правильно.
надо на кнопку вызова добавить бинд с этой функцией сабмита. и айдишник лучше использовать уникальный.

как-то так.

$(".cart-store").click(function() {
			
			// здесь будет функция вызова модального окна
			
			$("#callme").bind("submit", function(){
				$.ajax({
					type: "POST",
					url: "/wp-content/themes/bonasfide/assets/js/form/callme.php",
					data: $(this).serialize(),
				}).done(function() {
					alert("Спасибо! Мы скоро с вами свяжемся.");
					$("#callme").trigger("reset");
				});
				return false;
			});

		});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Lulzsec
А там точно
$("#callme").??
Может все-таки
btn-submit
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы