Задать вопрос

Как проверить заполнение полей формы ajax php?

Вот скрипт ajax
<script>
	function AjaxFormRequest(resultModal_id,formModal_id,url) {
		jQuery.ajax({
			url:     url, //Адрес подгружаемой страницы
			type:     "POST", //Тип запроса
			dataType: "html", //Тип данных
			data: jQuery("#"+formModal_id).serialize(), 
			success: function(response) { //Если все нормально
			document.getElementById(resultModal_id).innerHTML = "Ваша заявка принята!";
		},
		error: function(response) { //Если ошибка
		document.getElementById(resultModal_id).innerHTML = "Ошибка при отправке формы";
		}
	 });
}
</script>


вот php
<?php  
if(isset($_POST["email"])){
$email = 't-wordpress@yandex.ru';
/* Отправляем email */
mail($email, "Заявка ...", "\n
Оставили заявку!  \n
".$_POST['nameForm']."
Имя : ".$_POST['imya']."
Email : ".$_POST['email']."
Телефон : ".$_POST['phone']."
Дата и время : ".$_POST['datetime']."
");
}
?>


А вот сама форма

<div id="modal" class="modal">
				<div>
				   <div class="text" align="center">
				   <div id="blok_tel">
			<form action="" name="contact_form" method="post" class="form1" id="formModal_id" onbutton="return validate_form ( );">
				<div id="Nzvonok">Заявка</div>
					<input type="hidden" name="nameForm" value="Вы получили заявку на бронь зала: <?php wp_title(); ?>">
					<input type="text" name="imya" id="imya" class="inputbox"  onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" required>
					<input type="text" name="email" class="inputbox" required="required" value="Ваш Email" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;">
					<input type="text" name="phone" class="inputbox" required value="Ваш Телефон" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;">
					<input type="datetime-local" name="datetime" class="inputbox" required >					
					<input type="button" class="button" name="zayavka" value="Отправить" onclick="AjaxFormRequest('resultModal_div_id', 'formModal_id', '/wp-content/themes/leonastage/formZalyPage.php')">
				<div style="width: 100%; height: 20px; padding: 6px 0 0px; text-align: center; color: #4C4B4B;" id="resultModal_div_id"></div>
			</form>
			</div>
			</div>
				<a href="#close" title="Закрыть">Закрыть</a>
			</div>        
			</div>


Все работает отлично! только вопрос в том, как сделать input поля обязательными, чтобы пустые письма не приходили на почту!
  • Вопрос задан
  • 2736 просмотров
Подписаться 4 Оценить Комментировать
Решения вопроса 1
@mletov
На клиенте 2 способа:
1) плагины к jquery jqueryvalidation.org
2) валидация при помощи html5 ruseller.com/lessons.php?rub=43&id=2062

На сервере код что-то типа
if (isset($_POST["email"]) && isset($_POST['imya']) && ...)
{
     //Отправка почты
}
else
{
    //Вывод списка незаполненных и неправильно заполненных полей
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
LittleFatNinja
@LittleFatNinja
горе девелопер, любитель лютой садомии
установите всем инпутам required
Ответ написан
Ваш ответ на вопрос

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

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