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

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

ОБСУЖДЕНИЕ

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

Форма обратной связи на PHP, AJAX, JS
Просмотров: 9017  Скачан: 556 раз  Комментариев в теме: 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) заменяем на свои, в последствии письма будут отправлять на разные адреса, в зависимости какая тема выбрана ( Техподдержка, Продажи, Другое).

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

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

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

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

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

Фиксированная контактная форма на css и JQueryФиксированная контактная форма на c...

Большинство контактных форм встречаемых на разных ресурсах, выглядят не очень то и захватывающе, по сути везде используются статичные формы, поэтому.....

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

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

3D Контактная форма на css33D Контактная форма на css3

Красивая контактная форма в довольно оригинальном стиле. Контактная форма имеет вид почтового конверта, когда вы кликаете по нём, он......

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

Красивая форма обратной связи для вашего сайта на php, ajax и js. Форма может похвастаться капчей, проверкой полей формы на валидность и сообщениях об...

Оригинальная анимационная контактная формаОригинальная анимационная контактна...

Оригинальная анимационная контактная форма, в довольно привлекательном стиле. Форма представлена в виде открытого конверта, при наведении курсора мыши...
Интересные публикации:

BuddyBuddy

Buddy - это современный, отвечающий всем требованиям шаблон для WordPress с полной интеграцией и поддержкой BuddyPress....

Горизонтальное меню на jQuery «Slick Menu»Горизонтальное меню на jQuery «Slick Men...

Меню в довольно интересном стиле, меню раскидано в виде картинок, при наведении курсора мыши на картинку......

Фиксированое меню (вертикальное и горизонтальное)Фиксированое меню (вертикальное и горизо...

Неплохое фиксированное меню для вашего сайта, меню может быть горизонтальным и вертикальным......

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

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

Стильный комплект форм «Zi-4-Forms»Стильный комплект форм «Zi-4-Forms»

Zi-4-Forms - это комплект форм использующий CSS3, комплект состоит с формы входа, регистрации, восстановления пароля, контактная форма....

Горизонтальное меню в стиле AppleГоризонтальное меню в стиле Apple

Меню в стиле Apple, созданное полностью на css3.

Exterior DesignExterior Design

Неплохой html шаблон с готовым набором страниц, на главной странице расположено два слайдера, имеется портфолио, контактная форма......
  • Текущий 2.54/5
  • 1
  • 2
  • 3
  • 4
  • 5

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

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

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

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

Страницы: 1

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


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