qiwi
ПОСЛЕДНИЕ ПУБЛИКАЦИИ
ПОДПИСКА
Будь В Курсе
Подпишись, и получай эксклюзивные обновления на свой E-Mail:

Ваш E-Mail полностью защищён

ОБСУЖДЕНИЕ

Форма обратной связи на PHP, AJAX, JS

Форма обратной связи на PHP, AJAX, JS
Просмотров: 11357  Скачан: 602 раз  Комментариев в теме: 3

На этой странице представлена красивая форма обратной связи для вашего сайта реализованная на php, ajax и js. Форма может похвастаться капчей, проверкой полей формы на валидность и сообщениях об ошибках, также скрипт позволяет выполнять аутентификацию SMTP. Вы можете, например, воспользоваться сервисом Gmail от Google. Собственно форма обратной связи это неотъемлемая часть любого сайта, через неё происходит общение между пользователем и администратором, разумеется дизайн обратной связи должен быть красивым и быть приятен для пользователя, дизайн данной формы вполне достойный вариант.

Шаг 1 - создание разметки

 

HTML

<div id="contact">
    <div id="top">
        <h1>Напишите нам</h1>
    </div>
    <div id="center">
        <div id="contact_form">
            <form method="post" action="php/send.php" id="contactForm">
                <div class="error" id="error">Произошла ошибка, сообщение не может быть отправлено!</div>
                <div class="success" id="success">Сообщение успешно отправлено!<br />Спасибо.</div>
                <span class="input">
                    <label for="name"><b>Ваше имя:</b> </label>
                    <input  type="text" id="name" name="name" />
                    <div class="warning" id="nameError">Это поле обязательно для заполнения</div>
                </span>
                <span class="input">
                    <label for="email"><b>Ваш Email:</b> </label>
                    <input  type="text" id="email" name="email" />
                    <div class="warning" id="emailError">Введите правильный email!</div>
                </span>
                <span class="input">
                    <label for="sales"><b>Тема:</b> </label>
                    <select id="sales" name="sales">
                        <option value="Техподдержка">Техподдержка</option>
                        <option value="Продажи">Продажи</option>
                        <option value="Другое">Другое</option>
                    </select>
                </span>
                <span class="input">
                    <label for="message"><b>Ваше сообщение:</b> </label>
                    <textarea id="message" name="message">Здравствуйте,</textarea>
                    <div class="warning" id="messageError">Это поле обязательно для заполнения</div>
                </span>
                <span class="input">
                    <label for="security_code"><b>Цифры:</b> </label>
                    <input class="noicon" type="text" id="security_code" name="security_code" style="width:100px" />
                    <img src="php/security/1/sec.php" style="vertical-align:middle;" />
                    <div class="warning" id="security_codeError">Цифры введены неверно!</div>
                </span>
                <span id="submit" class="input">
                    <label for="submit"></label>
                    <p id="ajax_loader" style="text-align:center;"><img src="images/contact/ajax-loader.gif" /></p>
                    <input id="send" type="submit" value="Отправить письмо!" />
                </span>
            </form>
        </div>
    </div>
    <div id="bot"></div>  
</div>

Шаг 2 - подключение стилей

 

CSS

<link rel="stylesheet" href="css/style.css" type="text/css" />

Шаг 3 - подключение JavaScript

 

JS

<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
    var Form = {
        name: 'contactForm',
        cssClass: {'warning' : 'warning','error' : 'error', 'success' : 'success'},
        id: {'error' : 'error', 'success': 'success'},
        errorPrefix: 'Error',
        action: function(){return $('#' + this.name).attr('action')},
        data: function(){
            return $('#' + this.name).serialize();
        },
        hideBox: function(el){
            $(el).slideUp('slow');
        },
        showBox: function(el){
            $(el).slideDown('slow');
        },
        invalids: null,
        setInvalids: function(invalid){
            this.invalids = invalid
        }
    }
    var cssBoxes = '.' + Form.cssClass['warning'] + ',.' + Form.cssClass['error'] + ',.' + Form.cssClass['success'];
    $('#ajax_loader').ajaxStart(function(){
        $('#send').hide();$(this).show()
    })
    $('#ajax_loader').ajaxComplete(function(){
        $('#send').show();$(this).hide()
    })
    $('#' + Form.name).submit(function(){
        Form.hideBox(cssBoxes);
        // Ajax request
        $.post(Form.action(), Form.data(), function(data){
            var $return = eval('(' + data + ')');
            if($return === true){
                Form.showBox('#' + Form.id['success']);
                $('#contact_form form input[type="text"]').attr('value', '');
                $('#contact_form form textarea[name="message"]').attr('value', '');
                $('#contact_form img').attr('src', 'images/contact/ajax-loader.gif');
                $('#contact_form img').attr('src', 'php/security/1/sec.php?'+Math.random());
            }else if($return === false){
                Form.showBox('#' + Form.id['error']);
            }
            else{
                for(var i in $return){
                    Form.showBox('#' + $return[i] + Form.errorPrefix);
                }
            }
        });
        return false;
    })
})
</script>

С установкой думаю все понятно, теперь нужно задать ваш Email, на который посетители будут отправлять вам письма. И так, открываем файл xml/config.php, находим вот эту строку:

<address>mail@mail.ru</address>

и заменяем данный Email ( mail@mail.ru ) на свой.

Если вы хотите, что-бы посетители отправляли вам письма на разную почту, в зависимости от выбранной темы (к примеру Техподдержка, Продажи, Другое), то вам нужно заменить пару строк. Заходим в файл xml/config.php и находим вот эти строки:

<address>mail@mail.ru</address>
<address on="subject" value="Техподдержка"></address>
<address on="subject" value="Продажи"></address>
<address on="subject" value="Другое"></address>

и заменяем их на вот эти:

<address on="subject" value="Техподдержка">mail1@mail.ru</address>
<address on="subject" value="Продажи">mail2@mail.ru</address>
<address on="subject" value="Другое">mail3@mail.ru</address>

Email адреса (mail1@mail.ru, mail2@mail.ru, mail1@mail.ru) заменяем на свои, в последствии письма будут отправлять на разные адреса, в зависимости какая тема выбрана ( Техподдержка, Продажи, Другое).

Материалы по теме:

Фиксированная форма обратной связи на PHP и jQueryФиксированная форма обратной связи ...

Довольно простая форма обратной связи без капчи, проверки полей, сообщений об ошибке и всего прочего......

Прозрачная контактная форма на css3Прозрачная контактная форма на css3

Прозрачная контактная форма на CSS3 в тёмном стиле. В форме реализована проверка полей......

Обратная связь на PHP и JQuery «LightForm»Обратная связь на PHP и JQuery «Lig...

Стильная обратная связь ( LightForm) на PHP, Ajax и JQuery. Форма использует FormCheck2 для проверки полей , NiceForms для стилей текстовых полей и.....

Форма регистрации html с валидациейФорма регистрации html с валидацией

Форма регистрации на сайте это неотъемлемая его часть, но ведь не менее важен и дизайна формы, в данном примере......

Прозрачная форма регистрации с прогресс баромПрозрачная форма регистрации с прог...

Стильная прозрачная форма регистрации на css3 и JQuery. В форме имеется прогресс бар показывающий пользователю процесс заполнения формы....

Форма обратной связи с админкой PHP, JS, CSS, MySQL, AJAXФорма обратной связи с админкой PHP...

Универсальная форма обратной связи написанная на PHP, JS, CSS, MySQL, AJAX. Форма довольно гибкая в возможностях, с помощью админки......

Набор элементов дизайна «CSS3 Responsive Forms Pack»Набор элементов дизайна «CSS3 Respo...

Это профессиональный набор элементов дизайна ( кнопки, формы, Checkbox и многое другое)....
Интересные публикации:

Pack кнопок #2 на CSS3Pack кнопок #2 на CSS3

Pack кнопок 2, в паке представлены 20 кнопок на css3 с разными иконками....

SonjaSonja

Шаблон Sonja построенный на HTML5, в шаблоне красиво реализована главная страница, имеется оригинальная галерея, стрелка вверх, видео проигрыватель......

Социальное меню с подписью на css3Социальное меню с подписью на css3

Стильное социальное меню на css3, при наведении на иконку, она плавно прокручивается, одновременно с анимацией иконки, плавно появляется подпись....

ZeniZeni

Красивый шаблон построенный на html5 для блога или портфолио, на главной странице расположен привлекательный слайдер......

Слайд эффект с помощью JavaScriptСлайд эффект с помощью JavaScript

Эффект в виде слайда, реализован с помощью javascript...

Горизонтальное меню в виде куба «Boxes Menu»Горизонтальное меню в виде куба «Boxes M...

Меню в виде куба с красивым эффектом трансформации....

Paris ClarkParis Clark

Красивый html шаблон Paris Clark, на главной странице используется привлекательный слайдер, имеется портфолио, контактная форма......
  • Текущий 2.50/5
  • 1
  • 2
  • 3
  • 4
  • 5

Рейтинг: 2.5/5( Голосов 14 )

Комментариев в теме: (3)
↑ 0 ↓
serge
SyntaxError: expected expression, got '<'
Ответить Ответ с цитатой
↑ +2 ↓
ADMIN
Прокомментировано пользователя: serge
SyntaxError: expected expression, got '<'

Посмотрел, ошибки нет, все работает нормально. Вам нужно почистить кеш в браузере и все будет ок!

Ответить Ответ с цитатой
↑ +3 ↓
Alex
Довольно компактная форма, немного подправим стили и для моего сайта самое то..
Ответить Ответ с цитатой

Страницы: 1

Авторизация:
YandexGoogleVKMail.ruTwitterFacebookOdnoklassniki


Ваше имя:
Сайт:
Ваша почта:
RSS
Комментарий:
Введите символы:
captcha
Обновить