Показать сообщение отдельно
  #1 (permalink)  
Старый 21.09.2016, 12:09
Интересующийся
Отправить личное сообщение для ru.scr Посмотреть профиль Найти все сообщения от ru.scr
 
Регистрация: 21.09.2016
Сообщений: 20

Отправка формы через Ajax
Приветствую. Есть форма обратной связи в модальном окне, отправка происходит при проверке через Ajax.

Проблема в том, что форма отправляется даже пустой, хотя у одного из input стоит обязательно. При нажатии отправить подсвечивает обязательно, но все равно отправляет. Как сделать проверку этого поля, и если оно пустое не отправлять? Спасибо!

Код Ajax:

<script>
		$(document).ready(function () {
			$("input#submit").click(function(){
				$.ajax({
					type: "POST",
					url: "process.php",
					data: $('form.contact').serialize(),
					success: function(msg){
						$("#thanks").html(msg)
						$("#myModal").modal('hide');
						alert("Спасибо, ваше сообщение отрпавлено!");
					},
					error: function(){
						alert("failure");
					}
				});
			});
		});
    </script>


Код PHP обработчика:

<?php
$myemail = 'mail@ukr.net';
if (isset($_POST['name'])) {
$name = strip_tags($_POST['name']);
$phone = strip_tags($_POST['phone']);
$email = strip_tags($_POST['email']);
$message = strip_tags($_POST['message']);
echo "<span class=\"alert alert-success\" >Сообщение отправлено!</span><br><br>";
$to = $myemail;
$email_subject = "Заявка на консультацию: $name";
$email_body = "Получена заявка на консультацию. ".
" Подробнее:\n Имя: $name \n ".
"Email: $email\n Телефон: $phone\n Вопрос \n $message";
$headers = "From: $myemail\n";
$headers .= "Reply-To: $email";
mail($to,$email_subject,$email_body,$headers);
}?>
Ответить с цитированием