<div class="feedback">
<div class="feedback_header">Отправить сообщение</div>
<form id="feedback">
<div class="field_wrapper">
<div class="field_name">Имя<span> (обязательное поле)</span></div>
<input type="text" name="name" placeholder="Ваше имя" required="required" minlength="3" maxlength="100">
<div id="field_name_error"></div>
</div>
<div class="field_wrapper">
<div class="field_name">E-Mail<span> (обязательное поле)</span></div>
<input type="email" name="email" placeholder="Укажите ваш E-Mail" required="required" minlength="8" maxlength="100">
<div id="field_email_error"></div>
</div>
<div class="field_wrapper">
<div class="field_name">Сообщение<span> (обязательное поле)</span></div>
<textarea name="text" placeholder="Введите сообщение" required="required" minlength="10"></textarea>
<div id="field_text_error"></div>
</div>
<input type="hidden" name="domen" value="<?php echo parse_url(home_url())['host']; ?>">
<button name="feedback_submit">Отправить</button>
</form>
</div>
// Элементы: form и button
var feedback_form = document.getElementById('feedback');
var feedback_submit = document.querySelector('button[name="feedback_submit"]');
// Если форма присутствует в документе
if ( feedback_form ) {
var feedback_name = feedback_form.querySelector('input[name="name"]');
var feedback_email = feedback_form.querySelector('input[name="email"]');
var feedback_text = feedback_form.querySelector('textarea[name="text"]');
var statusMessage = document.createElement('div');
statusMessage.className = 'status';
$(document).ready(function() {
$("button[name='feedback_submit']").click(function(e) { // Устанавливаем событие отправки для формы с id=form
if (feedback_name.value.length < 3 || feedback_email.value.length < 8 || feedback_text.value.length < 10) return;
feedback_submit.innerHTML = 'Отправляю...';
e.preventDefault();
var form_data = $('#feedback').serialize(); // Собираем все данные из формы
$.ajax({
type: "POST", // Метод отправки
url: "send.php", // Путь до php файла отправителя
data: form_data,
beforeSend: function() { // вызов перед запуском Ajax-запроса
feedback_form.appendChild(statusMessage);
statusMessage.innerHTML = 'Отправка сообщения...';
feedback_submit.style.display = 'none';
statusMessage.style.cssText= 'text-shadow: 1px 1px 0 #fff; color: #999; padding: .7rem 0;';
},
success: function() {
statusMessage.innerHTML = 'Сообщение отправлено!';
statusMessage.style.cssText= 'text-shadow: 1px 1px 0 #fff; color: #0a0; padding: .7rem 0;';
},
error: function() {
statusMessage.innerHTML = 'Возникла ошибка!';
statusMessage.style.cssText= 'text-shadow: 1px 1px 0 #fff; color: #f00; padding: .7rem 0;';
}
});
});
});
}
$name = clean($_POST['name']);
$email = clean($_POST['email']);
$text = clean($_POST['text']);
$domen = clean($_POST['domen']);
$to = "orders@domain.com";
$subject = 'Сообщение через форму обратной связи сайта '. $domen; //Заголовок сообщения
$message = '
<html>
<head>
<title>'. $subject .'</title>
<style>
strong { font-size: 1.2em; }
p { font-family: "Open Sans", sans-serif, Arial; }
</style>
</head>
<body>
<p><strong>Имя:</strong> '. $name .'</p>
<p><strong>Email:</strong> '. $email .'</p>
<p><strong>Сообщение:</strong> <pre>'. $text .'</pre></p>
</body>
</html>'; //Текст сообщения
$headers = 'From: Support Team <support@server.com>' . "\r\n" .
'Reply-To: support@server.com' . "\r\n" .
'MIME-Version: 1.0' . "\r\n" .
'Content-Type: text/html; charset=utf-8' . "\r\n" .
'Content-Transfer-Encoding: quoted-printable';
mail($to, $subject, $message, $headers); //Отправка письма с помощью функции mail