Всем привет!
Имеется landing-page с одинаковыми формами обратной связи в разных местах страницы (два поля - телефон и имя).
Необходимо, чтобы данные передавались на e-mail, при этом производилась проверка на заполненность полей и в случае успешной передачи информации выводилось сообщение об этом.
Все это без перезагрузки страницы. Одна форма работает, а вот остальные нет. Простым копированием, как я понял, не обойтись.
<form id="ajax-contact-form" action="javascript:alert('Отправлено!');">
<INPUT type="text" id="poly" name="name" placeholder="Имя" value=""><br /><br />
<INPUT type="text" id="poly" name="email" placeholder="Телефон" value=""><br /><br />
<div id="note"></div>
<input id="sub" type="image" src="img/but-spec.png"/>
</form>
$(document).ready(function ()
{
$("#ajax-contact-form").submit(function ()
{
var str = $(this).serialize();
$.ajax(
{
type: "POST",
url: "contact.php",
data: str,
success: function (msg)
{
$("#note").ajaxComplete(function (event, request, settings)
{
if (msg == 'OK') // Если сообщение отправлено, поблагодарим пользователя
{
result = '<div class="notification_ok">Ваше сообщение отправлено. Спасибо!</div>';
$("#fields").hide();
}
else
{
result = msg;
}
$(this).html(result);
});
}
});
return false;
});
});
<?php
if(!empty($_POST))
{
$name = htmlspecialchars($_POST['name']);
$email = $_POST['email'];
$message = "Сообшение прислал $name, ответьте на $email";
$error = array();
// Если не введено имя
if(empty($name))
{
$error[] = 'Укажите Ваше имя.';
}
// Если не введен email
if(empty($email))
{
$error[] = 'Укажите Ваш e-mail.';
// проверим корректность email
}
if(empty($error))
{ // отправляем email средствами php
$mail =
mail("stalex010@gmail.com", "the subject", $message,
"From: webmaster\r\n"
."Reply-To: webmaster\r\n"
."X-Mailer: PHP/" . phpversion());
if($mail)
{
echo 'Передано сообщение!';
}
}
else
{
echo '<div class="notification_error">'.implode('<br />', $error).'</div>';
}
}
?>
Буду очень признателен, если кто-то подскажет способ размещения на странице одинаковых форм.