@IgorRastarov

Как отправить ajax форму при клике на тег a?

Всем привет.
У меня есть форма
<form class="form-inline" method="post" action="" id="form">
                    <div class="form-group">
                        <input type="text" class="form-control callTwo js-mask-phone" id="emailTwo" name="phone" placeholder="Номер телефона">
                    </div>
                    <div class="form-group">
                        <input type="text" class="form-control callTwo" id="pwdTwo" name="name" placeholder="Ваше имя">
                    </div>
                    <div class="form-group newSeletc">
                        <select class="selectpicker" multiple title="Удобное время для звонка">
                            <option>с 9 до 12</option>
                            <option>с 12 до 18</option>
                        </select>
                    </div>
                </form>
 <a href="#" class="btn btn-danger callMe">ПЕРЕЗВОНИТЬ МНЕ</a>

Мне нужно, чтобы при клике на ПЕРЕЗВОНИТЬ МНЕ - отправлялось письмо
$(".btn btn-danger callMe").on("click", function() { //устанавливаем событие отправки для формы с id=form
            var form_data = $(this).serialize(); //собераем все данные из формы
            $.ajax({
            type: "POST", //Метод отправки
            url: "send.php", //путь до php фаила отправителя
            data: form_data,
            success: function() {
                   //код в этом блоке выполняется при успешной отправке сообщения
                   alert("Ваше сообщение отпрвлено!");
				}
         });
    });

Ничего не происходит
  • Вопрос задан
  • 366 просмотров
Решения вопроса 1
У вас не происходит, потому что вы пытаетесь получить все данные не из формы, а из кнопки $(this).serialize();
Вместо this у вас берется кнопка. Либо пишите: $('#form').serialize();

Либо вешайте всю вашу функцию на onsubmit формы, тогда и this можно нормально использовать.

UPD: я использую такой вариант
<form class="form-inline" method="post" action="" id="form" onsubmit="send(this);return false;">
                    <div class="form-group">
                        <input type="text" class="form-control callTwo js-mask-phone" id="emailTwo" name="phone" placeholder="Номер телефона">
                    </div>
                    <div class="form-group">
                        <input type="text" class="form-control callTwo" id="pwdTwo" name="name" placeholder="Ваше имя">
                    </div>
                    <div class="form-group newSeletc">
                        <select class="selectpicker" multiple title="Удобное время для звонка">
                            <option>с 9 до 12</option>
                            <option>с 12 до 18</option>
                        </select>
                    </div>
 <button type="submit" class="btn btn-danger callMe">ПЕРЕЗВОНИТЬ МНЕ</button>
                </form>

function send(form) {
            var form_data = $(form).serialize(); //собераем все данные из формы
            $.ajax({
            type: "POST", //Метод отправки
            url: "send.php", //путь до php фаила отправителя
            data: form_data,
            success: function() {
                   //код в этом блоке выполняется при успешной отправке сообщения
                   alert("Ваше сообщение отпрвлено!");
        }
         });
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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