Показать сообщение отдельно
  #1 (permalink)  
Старый 10.09.2013, 20:02
Новичок на форуме
Отправить личное сообщение для stalex Посмотреть профиль Найти все сообщения от stalex
 
Регистрация: 10.09.2013
Сообщений: 1

Несколько одинаковых форм обратной связи на одной странице
Всем привет!
Имеется 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>';
}
}
 
 ?>


Буду очень признателен, если кто-то подскажет способ размещения на странице одинаковых форм.
Ответить с цитированием