ajax подменяет post-запрос на get
код формы
<form action="" role="form" method="" style="display: none;">
<input type="text" class="form-control" id="name_call" placeholder="Фамилия Имя Отчество" name="name_call"/>
<div class="emailalert form-group"></div>
<input type="text" class="form-control" id="phone" placeholder="Телефон для связи" name="phone"/>
<div class="bodyalert form-group"></div>
<section class="submit-block"><div><button class="submit_test" data-hover="Отправить">Отправить</button>
</div></section>
</form>
Код скрипта
$('.submit_test').click(function(index){
//стираем старый алерт
$('.emailalert').html(' ');
var em=$("#phone").val(); //alert(em); получаем значение поля ввода
//шаблон регулярного выражения для проверки правильности ввода email
var emRegExp=/^[0-9a-z-\.]+\@[0-9a-z-]{2,}\.[a-z]{2,}$/;
//проверка через ф-ю .test() соотнош рег выражения и данных в форме
if(!emRegExp.test(em)){
var eReg='<div class="alert alert-danger col-sm-9 col-sm-offset-2 col-xs-offset-1 col-xs-10"><p class="text-center"><strong>Неправильный email адрес</strong></p></div>';
$('.emailalert').html(eReg);}
//если поле пустое
if(em==''){
var e='<div class="alert alert-danger col-sm-9 col-sm-offset-2 col-xs-offset-1 col-xs-10"><p class="text-center"><strong>заполните поле с адресом электронной почты </strong></p></div>';
$('.emailalert').html(e);} //выводим предупреждение
//стираем старый алерт
$('.bodyalert').html(' ');
var bd=$("#name_call").val();
//если поле пустое
if(bd==''){
var b='<div class="alert alert-danger col-sm-9 col-sm-offset-2 col-xs-offset-1 col-xs-10"><p class="text-center"><strong>Заполните поле с текстом письма</strong></p></div>';//выводим предупреждение
$('.bodyalert').html(b);}
if(emRegExp.test(em)&&!em==''&&!bd==''){
$.ajax({
type: "POST",
url: "send.php",
data: {email: em, body: bd},
//событие перед отправкой ajax
beforeSend: function(){
$('#result').html(' '); //стираем старый вывод
$(".load").show();}, //выводим гифку
//событие после получения ответа, получаем массив в data
success: function(data){//скрываем гифку
$(".load").hide(); $('#result').html(data);
$('#myModal_success').show();}//выводим модальное окно
});
}
});
Код обработчика smtp
<?php
//подключаем phpmailer
require_once('class.phpmailer.php');
/*ф-я фильтрации*/
function myclear($dt){
$dt=stripslashes($dt);
$dt=strip_tags($dt);
$dt=trim($dt);
return $dt;
}
if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
$email = myclear($_POST['email']);//фильтруем
$body = myclear($_POST['body']);
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "cetus.lite-host.in";
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Port = 465;
$mail->Priority = 3;
$mail->CharSet = 'UTF-8';
$mail->Encoding = '8bit';
$mail->Subject = "Тест php mailer";
$mail->ContentType = "text/html; charset=utf-8\r\n";
$mail->Username = "user@site-address.com";
$mail->Password = "***";
$mail->From = "user@site-address.com"; $mail->FromName="Сообщение системы";
$mail->isHTML(true);
$mail->Body = $body;
$mail->WordWrap = 50;
$mail->/*AddAddress($email)*/AddAddress("tarvl@bk.ru");
if(!$mail->send()) {
echo '<div class="alert alert-danger"><p class="text-center"><strong>Ваше сообщение не отправлено</strong></p></div>';
exit;
}
echo '<div class="alert alert-success"><p class="text-center"><strong>Ваше сообщение отправлено</strong></p></div>';
}
?>