Как отправить форму с помощью Ajax
Код html-формы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<div id="sale_used_trailer" class="modal_window"> <h3>Продать б/у прицеп</h3> <form method="post"> <div class="result_form"></div> <div class="form_body"> <span class="title">Модель прицепа</span> <input type="text" class="input_text" name="pricep_model"/> <span class="title">Комментарий</span> <textarea class="input_text" name="user_comment"></textarea> <span class="title">Ваше имя</span> <input type="text" class="input_text" name="user_name"/> <span class="title">E-mail</span> <input type="email" class="input_text" name="user_email"/> <span class="title">Телефон</span> <input type="text" class="input_text" name="user_phone"/> <input type="submit" value="Отправить запрос" class="btn"/> </div> </form> </div> |
JS-обработчик формы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
$("#sale_used_trailer form, #feedback_window form").submit(function(e) { e.preventDefault(); var result_form = $(this).find(".result_form"); var form = $(this); var inputs_data=form.serialize(); $(".input_text").each(function() { if(!$(this).val().length) { $(this).addClass("input_error"); } }); if(!form.find(".input_error").length) { $.ajax({ type: "POST", url: "/include/send_mail.php", data: inputs_data, success: function(html) { result_form.empty(); result_form.show().append(html); form.find(".input_text").each(function() { $(this).val(''); }); form.find(".form_body").hide(); return false; }, complete: function() { setTimeout(function() { $.fancybox.close(); }, 5000); } }); } return false; }); |
php скрипт отправки формы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<?php $model = htmlspecialchars(stripslashes($_POST['pricep_model'])); $name = htmlspecialchars(stripslashes($_POST['user_name'])); $phone = htmlspecialchars(stripslashes($_POST['user_phone'])); $email = htmlspecialchars(stripslashes($_POST['user_email'])); $user_comment = htmlspecialchars(stripslashes($_POST['user_comment'])); $mail_header = "MIME-Version: 1.0\r\n"; $mail_header.= "Content-type: text/html; charset=UTF-8\r\n"; $recipient= 'zombzone@yandex.ru'; $subject = 'Сообщение с сайта'; $message = '<b style="width:220px;display:inline-block">Имя:</b>' . $name . '<br>'; $message.= '<b style="width:220px;display:inline-block">Телефон:</b>' . $phone . '<br>'; $message.= '<b style="width:220px;display:inline-block">E-mail:</b>' . $email . '<br>'; if(!empty($model)) { $message.= '<b style="width:220px;display:inline-block">Модель прицепа:</b>' . $model . '<br>'; } $message.= '<b style="width:220px;display:inline-block">Комментарий:</b>' . $user_comment . '<br>'; $message = '<html><body><p align="left">'.$message.'</p></body></html>'; if (mail($recipient, $subject, $message, $mail_header)) { $reply_form = 'Ваша заявка принята, наш менеджер свяжется с вами через некоторое время!!'; } else { $reply_form = 'Ошибка отправки'; } echo $reply_form; ?> |