[Решено] Замена formit
Dec 21, 2013
Добрый день! Не особо гибкий formit заставил искать более удобное решение
jquery валидация формы + оттправка по ajax post-ом данных в php файл и отправка там через phpmail
вот мой код
//jquery
$(function()
{
// Validation
$("#form_ask").validate(
{
// Rules for form validation
rules:
{
name:
{
required: true
},
email:
{
required: true
},
ask_area:
{
required: true
}
},
// Messages for form validation
messages:
{
name:
{
required: 'Пожалуйста, введите ФИО',
},
email:
{
required: 'Пожалуйста, введите ваш email',
},
ask_area:
{
required: 'Пожалуйста, введите вопрос',
}
},
// Ajax form submition
submitHandler: function(form) {
$.ajaxSetup({cache: false});
$.post('/assets/ajax/ask_send.php', {
name: $('#form_ask input[name="name"]').val(),
email: $('#form_ask input[name="email"]').val(),
phone: $('#form_ask input[name="tel"]').val(),
ask_area: $('#form_ask input[name="ask_area"]').val()
}).done(function(data) {
$("#form_ask input").val('');
$("#form_ask textarea").val('');
$("#form_ask .suc_mess").slideDown('800').delay(2000).slideUp('800');
}).fail(function() {
});
return false;
}
});
});
//форма
<form id="form_ask" method="post" action="http://format.rezzzz.com/assets/ajax/ask_send.php" novalidate="novalidate">
<div class="suc_mess">Ваш вопрос успешно отправлен</div>
<label>ФИО<span>*</span></label>
<span class="error">[[!+fi.error.name]]</span>
<input type="text" name="name">
<label>E-mail<span>*</span></label>
<span class="error">[[!+fi.error.email]]</span>
<input type="email" name="email">
<label>Телефон</label>
<span class="error">[[!+fi.error.tel]]</span>
<input type="tel" name="tel">
<label>Вопрос<span>*</span></label>
<span class="error">[[!+fi.error.ask_area]]</span>
<textarea name="ask_area"></textarea>
<div class="formBtnWrap">
<button type="submit" class="greyBtnSkin">Отправить</button>
</div>
</form>
// php файл
<?php
//require($_SERVER['DOCUMENT_ROOT'].'/wp-load.php');
// Review data
if($_POST['name']) {
$name = $_POST['name'];
}
if($_POST['email']) {
$email = $_POST['email'];
}
if($_POST['phone']) {
$phone = $_POST['phone'];
}
if($_POST['ask_area']) {
$ask_area = $_POST['ask_area'];
}
$message = '
<div align="left"><table width="100%">
<tr width="100%">
<td width="40%" style="padding: 5px 0;" valign="top"><b>Имя</b></td>
<td width="60%" style="padding: 5px 0;" valign="top">' . $name . '</td>
</tr>
<tr width="100%">
<td width="40%" style="padding: 5px 0;" valign="top"><b>E-mail</b></td>
<td width="60%" style="padding: 5px 0;" valign="top">' . $email . '</td>
</tr>';
$message .= '
<tr width="100%">
<td width="40%" style="padding: 5px 0;" valign="top"><b>Телефон</b></td>
<td width="60%" style="padding: 5px 0;" valign="top">' . $phone . '</td>
</tr>
'
$message .= '<tr width="100%">
<td width="40%" style="padding: 5px 0;" valign="top"><b>Вопрос</b></td>
<td width="60%" style="padding: 5px 0;" valign="top">' . $ask_area . '</td>
</tr>
</table></div>';
// Mail settings
// $to = get_field('почта','option');
$to = 'nirfrost5@gmail.com';
$subject = 'Новый отзыв';
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=UTF-8";
$headers .= "From: $name <$email>\r\n";
$headers .= "Cc: $email\r\n";
$headers .= "Bcc: $email\r\n";
mail($to, $subject, $message, $headers);
?>
но что то не отправляет письма что не так можете подсказать?