Привет! Я запускаю обучающие онлайн курсы по SEO. Подробности и форма записи на Alaev.school
Zapostim
 

Универсальный скрипт формы обратной связи для сайта на jQuery AJAX

Форма обратной связи для сайта на jQuery AJAX Привет друзья! Наконец-то, после десятка писем на почту с просьбой поделиться скриптом, решил рассказать вам про свой универсальный скрипт формы обратной связи, который работает на AJAX, имеет встроенную проверку полей формы на валидность и подойдет для любого сайта на любом движке, или даже на чистом html.

Сразу стоит сказать, что это не полностью моя разработка, изначально этот скрипт был найден на просторах буржунета, но впоследствии основательно мной переделанный. Так что часть авторства все же принадлежит мне ;)

Реализация формы обратной связи таким образом, когда ссылка на нее присутствует на каждой странице сайта и всегда в зоне видимости, очень удобна, а посетителям не придется долго её искать. Так же в эту форму можно добавить любые ваши контактные данные, например, ICQ, телефон или skype, в общем, все что захотите.

Форма обратной связи alaev.info

Итак, речь идет вот об этой штуковине --->

В работе вы можете увидеть эту форму на любой странице моего блога. Может быть, кто-то из вас ей даже пользовался.

Приступаем к делу. Чтобы получить такую же форму, вам потребуется выполнить два пункта — установка и настройка — они описаны ниже.

Архивы contactable UTF-8 и Windows-1251

Для сайта с кодировкой UTF-8: contactable.zip
Для сайта с кодировкой windows-1251: contactable_cp1251.zip

Как узнать кодировку своего сайта? Открываем сайт в браузере, нажимаем Ctrl+U (Просмотр исходного кода) и в самом начале находим строку:

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
или
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Отсюда сразу понятно, какая у вас кодировка и, следовательно, какой архив необходимо скачать.

Как установить форму обратной связи?

В следующем разделе отдельно представлена установка для CMS WordPress.

Установка проходит в 7 шагов:

  1. Скачиваем архив в нужной кодировке и распаковываем.
  2. Вносим изменения в файлы mail.php и jquery.contactable.js (см. раздел настройка ниже).
  3. Папку contactable и все ее содержимое закидываем на сервер в удобное для вас место.
  4. В шаблоне своего сайта между тегами <head> и </head> вставляем следующий код:
    <link rel="stylesheet" href="http://site.ru/your/path/contactable/contactable.css" type="text/css" />
    где, http://site.ru/your/path/ надо заменить на путь к директории /contactable/ на вашем сервере.
  5. В шаблоне своего сайта ПОСЛЕ открывающего тега <body> вставляем следующий код:
    <div id="contactable"><!-- contactable html placeholder --></div>
  6. В шаблоне своего сайта ПЕРЕД закрывающим тегом </body> вставляем следующий код:
    <!--start contactable js -->
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js?ver=1.7.1"></script>
    <script type="text/javascript" src="http://site.ru/your/path/contactable/jquery.validate.min.js"></script>
    <script type="text/javascript" src="http://site.ru/your/path/contactable/jquery.contactable.js"></script>
    <script type="text/javascript">$(function(){$('#contactable').contactable();});</script>
    <!--end contactable js -->

    где, http://site.ru/your/path/ надо заменить на путь к директории contactable/ на вашем сервере.

    Очень важный момент! Если у вас на сайте уже подключена библиотека jQuery (а в большинстве случаев это так), то второй раз подключать ее нельзя. В таком случае в коде выше надо убрать строку:

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js?ver=1.7.1"></script>
    Иначе могут возникнуть конфликты — или форма не заработает, или сайт может «развалиться».
  7. Сохраняем файл шаблона. Обновляем любую страницу сайта и начинаем тестировать форму обратной связи!

Все готово!

Установка формы обратной связи для сайта на WordPress

Решил отдельно написать о том, как более удобно и правильно подключить данный скрипт для блога на движке WordPress.

  1. Скачиваем архив. WordPress по умолчанию представлен в кодировке UTF-8, по этому не ошибитесь с архивом ;)
  2. Редактируем файлы mail.php и jquery.contactable.js (см. раздел настройка ниже).
  3. Папку contactable вместе с содержимым заливаем в папку на сервере /wp-content/plugins/. То есть должно получиться так /wp-content/plugins/contactable/
  4. Идем в админке во «Внешний вид» -> «Редактор», выбираем файл header.php, находим там </head> и ВЫШЕ вставляем:
    <script type="text/javascript">$(document).ready(function(){$('#contactable').contactable();});</script>
    Жмем «Обновить файл»;
  5. Там же в редакторе открываем файл functions.php и в самый конец, перед ?> вставляем:
    /*** Добавляем в wp_head свои css ***/
    	function my_css() {
    		echo '<link rel="stylesheet" type="text/css" href="http://site.ru/wp-content/plugins/contactable/contactable.css" media="screen" />'."\n";
    	}
    	add_action('wp_head', 'my_css', 5);

    где, http://site.ru/ надо заменить на адрес своего сайта.

    Данной функцией мы добавим в <head> </head> css файл стилей формы.

    Далее, опять же перед ?> вставляем:

    /*** Добавляем в wp_head свои js скрипты ***/
    	if( !is_admin()){
    		wp_deregister_script('jquery');
    		wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"), false, '1.7.1');
    		wp_enqueue_script('jquery');
    		wp_enqueue_script('validate', '/wp-content/plugins/contactable/jquery.validate.min.js', 'jquery', '1.8.0');
    		wp_enqueue_script('contactable', '/wp-content/plugins/contactable/jquery.contactable.js', 'jquery', '1.2.1');
    	}

    Этим кодом мы делаем следующее: на всех страницах (кроме админки) мы отключаем стандартную вордпрессовскую библиотеку jquery, а вместо нее подключаем самую новую с серверов Гугла (не переживайте на счет того, что js будет подгружаться с внешнего сервера, во-первых, сервера Гугла самые надежные в мире, во-вторых, мы даже немного снизим нагрузку на свой сервер); далее после подключения jquery, сразу подключаются два js-скрипта формы связи с условием их подключения строго после jquery (это тот случай, когда порядок подключения скриптов имеет больше значение, и если не подключить jquery перед скриптами формы, то форма не заработает).

    Жмем «Обновить файл».
  6. Очищаем кеш, если у вас установлен плагин WP Super Cache или подобный.
  7. Обновляем любую страницу своего блога и видимо форму ;)

Как видите, ничего сложного в установке нет.

Настройка формы

Перед тем как заливать файлы из архива к себе на сервер (третий шаг установки), надо внести в них некоторые правки.

  1. Открываем файл jquery.contactable.js и находим там следующий код:
    		var defaults = {
    			url: 'http://site.ru/your/path/contactable/mail.php',
    			name: 'Ваше имя',
    			email: 'Ваш E-mail',
    			message : 'Сообщение',
    			subject : 'Feedback from MySite',
                		page : location.href,
    			submit : 'Отправить письмо',
    			recievedMsg : 'Благодарю вас за письмо',
    			notRecievedMsg : 'Извините, но при отправке письма произошла ошибка, попробуйте позже',
    			disclaimer: 'Пожалуйста, не стесняйтесь отправлять сообщения. Я буду очень признателен за все отзывы и с радостью отвечу на все ваши вопросы!',
    			hideOnSubmit: true
     
    		};
    Как минимум нам надо изменить для переменной url путь к директории contactable/ на вашем сервере. Эта процедура аналогична четвертому пункту установки. Остальные переменные можете изменять по своему усмотрению.
  2. Открываем файл mail.php и находим там следующий код:
    	$contactMessage =
    "Имя отправителя: $name <$emailAddr>
     
    $comment
     
    Письмо отправлено со страницы: $page
    IP отправителя: $_SERVER[REMOTE_ADDR]";
     
    		//send the email
    		mail('admin@site.ru', $subject, $contactMessage, $headers);
    Здесь вам необходимо прописать свой контактный e-mail, на который будут сыпаться письма. То есть заменяем admin@site.ru на свой ящик.
    Переменная $contactMessage содержит шаблон письма, которое вы будет получать. По умолчанию в шаблоне присутствуют имя и ящик отправителя, само сообщение, страница с которой было отправлено письмо (мне показалось, что это интересная информация для анализа) и IP адрес. Все это можете отредактировать как вам захочется.
  3. По желанию можете изменять внешний вид самой формы, ее цвета и т.д., все css-стили хранятся в файле contactable.css
  4. На этом настройка завершена.

Всякие дополнительные фишки

  1. Если вы хотите, чтобы после отправки сообщения показывалось не только «Спасибо за письмо», но и происходило перемещение пользователя на заданную страницу, необходимо проделать следующее:
    Открываем файл jquery.contactable.js и находим:

    			$(this_id_prefix+'#callback').show().append(options.recievedMsg);

    и НИЖЕ добавляем:

    			document.location.href="http://alaev.info";
    где нужно вместо http://alaev.info прописать адрес вашей страницы, куда вы хотите переместить пользователя.

Что еще стоит сказать про этот скрипт?

  • Форма обратной связи с капчей уже не рулит, потому что данный скрипт работает только при включенном javascript, а у ботов он выключен, соответственно пользователям никакую капчу вводить не придется, а у вас не будет спама.
  • После установки у вас может возникнуть проблема с кодировкой, поэтому проследите, что вы скачали подходящий архив (я специально подготовил две версии для скачивания). Сохраняйте файлы после редактирования в правильной кодировке (в большинстве случаев принудительно указывать кодировку не придется, но мало ли).
  • На вопрос «А как сделать чтобы это было справа, а не слева?» отвечаю сразу — исходники открыты, колупайте на здоровье!
  • Да, эта форма обратной связи не поддерживает аттачи. Но я считаю, что этого и не надо.
  • А как сделать, чтобы после отправки сообщения форма не исчезала и можно было отправить еще одно сообщение без перезагрузки страницы? Найдите строку hideOnSubmit: true и замените на hideOnSubmit: false
  • Эта форма не работает на локальном сервере, только на сайтах в сети.
  • Пока все, но я буду добавлять сюда интересные вопросы из ваших комментариев, чтобы другие их больше не задавали ;)

Вот и все, надеюсь, для вашего сайта эта форма пригодится, пользуйтесь на здоровье!

У вас что-то не работает? Форма не отображается или отображается криво? Не выезжает и не заезжает обратно? Не устраивает стиль и внешний вид?
Придется разбираться самостоятельно и внимательно читать комментарии ниже.
На подобные вопросы в комментариях автор поста (то есть Я) не отвечает.
С уважением, Александр Алаев
 
Ерунда и баянЪ!Зачет! Плюсую!
+38
 
Оптимизация сайта

Профессиональный технический аудит и оптимизация вашего сайта.
Тот самый необходимый «фундамент» для успешного продвижения.

от 15 000 руб.
Продвижение сайта

Комплексный подход к решению поставленных задач, будь то достижение заветных позиций в ТОП 10 или увеличение трафика на сайт. В стоимость уже включены полный технический аудит и оптимизация сайта.

от 20 000 руб.
Консультация

У вас недостаточно знаний?
Нужен ответ на ряд вопросов?
Хотите узнать мнение эксперта?
Вы задаете вопрос — я отвечаю!

2 500 руб./час
 
Получай новости блога АлаичЪ'а на e-mail:
 
Другие посты из категории CMS & Кодинг:
  1. Anon (4 комм.)

    >> между тегами <body> и </body> вставляем следующий код

    Тэг link никогда не ставится в body. Люди, которым важна скорость загрузки, скрипты ставят в футер, чтобы грузились они после отрисовки страницы и не тормозили ее.

    • АлаичЪ

      Ну да, код можно разделить на две части, скрипты в футер, а вызов div с id в хедер.

      А вообще замечание верное, обновил пост ;)

      • Anon (4 комм.)

        Так не будет работать. Вызов функции contactable () должен идти последним.

        То есть:

        1. стиль — в head;

        2. div куда угодно в body;

        3. скрипты перед закрывающим body в таком порядке:

        — jquery.min.js

        — jquery.validate.min.js

        — jquery.contactable.js

        — и потом уже $('#contactable').contactable ();

  2. Александр (2 комм.)

    Думаю для ценителей Joomla данный скрипт обратной связи будет логичен в модуле собственный HTML, только при этом визуальный редактор в настройках сайта на время отключать приходиться.

  3. Maxim (2 комм.)

    Я так понимаю данный скрипт работает сам по себе и можно его прикрутить к любому CMS?

    • АлаичЪ

      Да, можно прикрутить не только к любой CMS, но лучше сказать, что можно прикрутить вообще куда угодно, лишь бы хостинг php поддерживал.

  4. Maxim (2 комм.)

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

    "Если нашли ошибку, нажмите сюда и сообщите" — вот эту надпись сделать кликабельной. Т.е. чтобы при нажатии на нее вылезала форма.

    • АлаичЪ

      Если я правильно понял, то вам достаточно заменить надпись "Feedback" на "Если нашли ошибку нажмите сюда и сообщите". Но это уже фигня какая-то получится. Проще тогда специальным сервисом для этого воспользоваться — http://orphus.ru/, там все гораздо удобнее для ваших целей!

      • Валентин (67 комм.)

        Нормально, вместо того что бы сказать что так не выйдет или что вы не знаете как это сделать, вы пишете что это "фигня какая-то", и отправляете на сторонний сервис... ответ знающего человека.

        А если , что логично, человек хочет свою форму отправки без подключения лишнего сервиса с другого сайта?

  5. Дмитрий (1 комм.)

    Пытаюсь добавить на сайт, пилил 2 дня. Допилил, вроде отправляет.

    Но вот проблема: После отправки письма кидает на страницу "mail.php", а там 1 слово "success". Кто может помочь?

    Насколько я понял, вместо слова должна срабатывать функция, и сообщение об успехе должно выводиться в той же форме отправки.

    • Anon (4 комм.)

      >> сообщение об успехе должно выводиться в той же форме отправки.

      Это было бы глупо. Если сообщение отправлено, то форма уже не нужна. Найдите слово «Success» в jquery.contactable.js и замените его на свой html. Если сайт на WordPress и многоязычный, то используйте /wp-includes/js/l10n.js, который грузится по умолчанию. Google в помощь.

  6. labounch (5 комм.)

    Привет!!! Установил я форму обратной связи, но шаблон перекосило, сцуко (ощущение, как будто блокировали работу основных java-скриптов — галерея перестала работать и т.д.).

    На перекос шаблона влияет эта строка в коде:

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>

    Я так понимаю, что получается какой-то конфликт между скриптами, потому как шаб навороченный уж чересчур...

    Может кто сталкивался? В Java не силен я вовсе. Помогите, ребят, с этой проблемой...

    • АлаичЪ

      Попробуйте не вставлять эту строку, возможно, у вас подключается несколько jquery одновременно, и потому возникают конфликты.

      • labounch (5 комм.)

        Пробовал, тогда feedback не подгружается совсем. Как же быть...? У меня сайт на CMS joomla, существует модуль feedback, но, он немного кривоват, периодически тормозит по ходу своего "выдвижения"... А Ваш вчера тестил — понравилось!

        • marina (6 комм.)

          У меня только что была такая же проблема! Одно подключишь — другое развалится!

          Уберите внешние файлы jquery (типа http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js). Скачайте библиотеку jquery отсюда: http://docs.jquery.com/Downloading_jQuery. Кидайте на сервер и подключите ее на свою страницу с плагинами.

          У меня все сразу нормально заработало. Удачи!

          И еще раз спасибо Александру за замечательный скрипт формы! Красиво и удобно.

          • labounch (5 комм.)

            Сделал как Вы написали: заменил строчку подключения внешнего jquery на подключение из папки на сервере (скрипт скачал версии jquery-1.3.min.js). Такая же лажа...

            А в другом шаблоне joomla вообще html файла нет. Там через warp шаблон работает. Вот и думай куда код прописать!?

            Или я опять все преувеличиваю :)

            • marina (6 комм.)

              Я скачивала jquery-1.7.1.min.js. Насколько я правильно поняла, у них там все версии постоянно обновляются, а эта — последняя. Все сразу на места встало. Хотите, ссылку дам — посмотрите. А файл я прописала в <head>.

              • labounch (5 комм.)

                Скачал последнюю версию jquery-1.7.1.min.js — панелька выезжает, но сайт принципиально не хочет с панелькой дружить. Скорее происходит какой то конфликт скриптов. Не знаю в общем, что происходит... Если будет полезная информация по этому вопросу пожалуйста поделитесь. Спасибо!

                • marina (6 комм.)

                  А Вы все внешние подключения jquery на странице удалили? У меня все плагины работают на 1.7.1. А когда было 3 штуки разных — для каждого плагина свой внешний файл, все и разваливалось.

                  • labounch (5 комм.)

                    А вот и не знаю... Не смотрел. Значит, лучше все запросы на внешнее подключение скриптов убрать? Чтот даже и не подумал про это... попробую отключить внешку, может, что и получится-)

                    • Anon (1 комм.)

                      1. JQuery должна грузиться ДО всех скриптов, использующих ее. Вне зависимости внешние они или локальные. Проверьте порядок загрузки.

                      2. Попробуйте заменить вызов

                      $(function (){$('#contactable').contactable ();});

                      на

                      jQuery (document).ready (function ($) {$('#contactable').contactable ();});

                      3. Если используется другая библиотека, например, Prototype, то inline-скрипт может с ней конфликтовать. Но не в случае, упомянутом выше (2).

                    • Lonely_Virus (5 комм.)

                      У меня был конфликт слайдера с этой Обратной связью — коробило сайт и не работал слайдер.

                      Я решил эту проблему следующим образом:

                      Скопировал ***.js который крутил слайдер, в начало файла "jquery-1.7.1.min.js".

                      Как ни странно, все заработало!

                      Надеюсь, если у кого конфликты скриптов, попробуйте скопировать текст вашего скрипта в "jquery-1.7.1.min.js".

                      Автору Обратной связи — Респект за труд!

  7. fobic (4 комм.)

    Привет. Перво-наперво спасибо за форму. Вот только раскорячило у меня поле "Ваше имя" на сайте hypalon.ru. Где искать баг?

    • АлаичЪ

      Скорее всего надо смотреть стили css.

      • fobic (4 комм.)

        Спасибо, допилили и поставили. Вот только у сайта есть алиас и когда отправляет с него, то пишет "...попробуйте позже..."

        • АлаичЪ

          Не понял...

          • fobic (4 комм.)

            Есть сайт site1.ru, у сайта есть алиас site2.ru, когда отправляешь форму с первого, то пишет, что отправлено, а со второго, что "...попробуйте позже".

            P.S Решил написанием относительного пути к contactable.js

            • АлаичЪ

              А какой смысл иметь одинаковые сайты на двух доменах? Логично сделать 301 редирект на один из них (основной) и никаких проблем ;)

              Хотя, конечно, может не так все и просто и разные домены сделаны специально, я не знаю...

  8. Bubamara (2 комм.)

    Сталкнулся с такой проблемой... Форма грузится, письма уходят, но почта пустая.

    Где искать проблему?

    • АлаичЪ

      А в файле mail.php свое мыло прописали?

      PS Проверьте на всякий случай папку спам, мало ли...

      • Bubamara (2 комм.)

        Да, мыло прописал. Пробывал мыльник и на своем сервере и на mail.ru. В спам папках пусто.

        • АлаичЪ

          Блин, тогда сложно сказать в чем дело, я не знаю :(

        • Сергей (1 комм.)

          В url: 'http://site.ru/your/path/contactable/mail.php', пропишите не полный путь, а относительный, т.е. url: '/contactable/mail.php'. В противном случае форма будет работать, если обращаетесь к сайту по адресу http://site.ru/, и не будет, если по http://www.site.ru/.

          • АлаичЪ

            Это проверенное наблюдение или лишь догадки?

            Я склоняюсь к тому, что это не может быть причиной неработы скрипта.

  9. Александр (2 комм.)

    Форма прикрутилась на сайт отлично. Но вот загвоздка. Не отправляются сообщения, хотя все поля заполнены. Вместо отправки пишет сообщение — "Извините, но при отправке письма произошла ошибка, попробуйте позже"

    В чем может быть причина. Сделал все так как вы описали.

    • АлаичЪ

      Если тестируете на локальном сервере, то там есть такая проблема.

      • Александр (2 комм.)

        Тестируется не на локальном сервере.

        Форма работает, а отправлять не хочет. Все права на файлы указаны верно. В httpacess тоже все прописано.

        Такое ощущение что в php файле пролетает условие. Вернее, скорей всего, в php файл ничего не приходит

        • АлаичЪ

          Надо еще раз проверить, правильно ли указаны все пути, иначе я даже не знаю, в чем у вас может быть дело!

      • Сергей (1 комм.)

        У меня такая же проблема. Оказалось на хосте отключили в целях безопасности потенциально опасные функции PHP и среди них mail. Естественно ничего не работало.

  10. VCange (2 комм.)

    Работает в мозиле, хроме, опере — В Explorer версии 7 и 9 отказывается, все выезжает нормально, но страница сдвигается, отображается форма не полность и т.д.

    Но если открыть вашу страницу http://alaev.info/blog/post/2681 , то все идиально.

    АВТОР В ЧЕМ СЕКРЕТ У ВАС? Ничего не менял в скриптах, просто залил, почему в Explorer коряво отоброжается? Спасибо за ответ!

    • АлаичЪ

      Нет никакого секрета, 99% вероятность ошибки в ваших css-стилях.

      А на счет IE — в старых версиях не поддерживается абсолютное позиционирование, но в этом случае и на моем блоге будет такая проблема.

    • Anneta (1 комм.)

      Была такая же проблема.

      В файле css продублировала хаки для ie6 (например: *position:absolute;) хаками для всех ie (//position:absolute;)

      И форма заработала как нужно =)

  11. PNG (6 комм.)

    XenForo, при попытке редактирования шаблона, выдает ошибку синтаксиса в строке

    "<script type="text/javascript">$(function (){$('#contactable').contactable ();});</script>".

    Как исправить, подскажите...

    • PNG (6 комм.)

      Разобрался!

      Если у кого-нибудь будет подобная проблема, делайте так:

      <script type="text/javascript">

      $(function (){

      $('#contactable').contactable ();

      });

      </script>

  12. VCange (2 комм.)

    В архиве все файлы в UTF-8, вы могли бы залить еще и для windows-1251. Мучаюсь какой день, не могу перекодировать. Поместите в архив файлы для обеих кодировок, или залейте еще один архив.

    • fobic (4 комм.)

      Notepad++ отлично перекодирует и http://www.artlebedev.ru/tools/decoder/ вроде тоже

      • АлаичЪ

        Да, любой нормальный текстовый редактор может сохранять в различных кодировках.

        Но все равно в пост добавил еще один архив для cp-1251 кодировки.

  13. Lonely_Virus (5 комм.)

    Такс... А у меня появилась проблема: Письма приходят, сам текст в письме читаемый, а От кого и Тема письма кракозябры :(

    В чем может быть проблема?

    • Hosterweb (1 комм.)

      проблема в том, что у вас другой тип почтового сервера скорее всего smtp, просто у меня была такая прблема, я сделал другую форму обратной связи с настройками в коде smtp сервера, прописал логин и пароль в коде и все заработало как часы, но проблема осталась в том, что мне нужно что бы в теле письма прописывались заполненные данные типо имя, продукция и так далее ... не знаю как сделать

  14. Brendmaster (12 комм.)

    Прикрутил данную форму все ок, но работает криво и письма не приходят. Криво скажу почему, форма не обновляется и не пишет, что письмо отправленно, а просто перезагружает исходную страницу. Че может быть товарищи?

    • Brendmaster (12 комм.)

      Все заработало. Дело в том, что я добавил поле телефон, только вот оно добавилось, а работать не захотело.

      • Brendmaster (12 комм.)

        Может есть способ правильно прописать поле телефон чтобы все корректно работало?

        • Wizard (3 комм.)

          to Brendmaster

          Способ, для дополнительного поля, скажем, для телефона, есть пример тут: http://luali.ru

          Если коротко, то в форме mail.php пишем переменную $phone:

          <?php
          	//declare our assets
          	$name = stripcslashes ($_POST['name']);
          	$emailAddr = stripcslashes ($_POST['email']);
          	$phone = stripcslashes ($_POST['phone']);
          	$comment = stripcslashes ($_POST['message']);
          	$subject = stripcslashes ($_POST['subject']);
          		$page = stripcslashes ($_POST['page']);
          		$headers = "From: "$name" <$emailAddr>rn";
          	$headers .= "Content-type: text/plain; charset=UTF-8rn";
          	$contactMessage =
          "Имя отправителя: $name и его почтовый адрес $emailAddr
          Телефон для связи: $phone
           
          $comment
           
          Письмо отправлено со страницы: $page
          IP отправителя: $_SERVER[REMOTE_ADDR]";
           
          		//send the email
          		mail ('you@inbox.ru', $subject, $contactMessage, $headers);
          		echo ('success'); //return success callback
          ?>

          А в файле jquery.contactable.js:

          1. Надо добавить:

          			email: 'Ваш E-mail',
          			phone: 'Ваш номер телефона',
          			message : 'Сообщение',

          2. Воткнуть после поля почты вот эту строку:

          <p><label for="phone">'+options.phone+'<span class="red"> * </span></label><br /><input id="phone" class="contact" name="phone"/></p>

          Пример:

          <p><label for="email">'+options.email+' <span class="red"> * </span></label><br /><input id="email" class="contact" name="email" /></p><p><label for="phone">'+options.phone+'<span class="red"> * </span></label><br /><input id="phone" class="contact" name="phone"/></p>

          3. Добавить здесь:

          					name: {
          						required: true,
          						minlength: 2
          					},
          					phone: {
          						required: true,
          						minlength: 7
          					},
          					email: {
          						required: true,
          						email: true
          					},

          4. Вписать тут:

          				//set messages to appear inline
          					messages: {
          						name: "",
          						phone: "",
          						email: "",
          						message: ""
          					},

          5. Самое незаметное тут:

          data: {subject:options.subject, page:options.page, name:$(this_id_prefix+'#name').val (), email:$(this_id_prefix+'#email').val (), phone:$(this_id_prefix+'#phone').val (), message:$(this_id_prefix+'#message').val ()},

          6. У меня все работает и отправляется! Все красиво и удобно.

          Единственная загвоздка это отображение панели в долбаном IE...

          • Марат (1 комм.)

            Еще вот сюда надо добавить в css файл.

            #contactable .error { background-color: #EDBE9C; }

            #contactable #name.error { background-color: #EDBE9C; }

            #contactable #phone.error { background-color: #EDBE9C; }

            #contactable #email.error { background-color: #EDBE9C; }

            #contactable #comment.error { background-color: #EDBE9C; }

          • Казим (1 комм.)

            Wizard!!! Большущее спасибо!!!! Всё прекрасно работает!!!!!! Дай Бог тебе и Александру — хозяину блога, здоровья и всяческого благополучия!!!

    • Lonely_Virus (5 комм.)

      Да вот нет... Все работает! И письма приходят и форма обновляется...

      После отправки пишет то, что указали в jquery.contactable.js а именно в: (recievedMsg : 'Благодарим вас за сообщение',).

      Единственно, была проблема, скрипт писал «Отправка невозможна». Из-за прав доступа к файлу mail.php, изменил права и заработал.

      Но теперь проблема в кодировке. И что странно, на почту яндекса приходит все читаемо, а на почту хостера, только тело письма читать можно, а From и To (От кого и Тема письма), кракозябры...

      Я конечно понимаю, что Яндекс почта для дураков. Им не выгодно, что бы пользователи вникали в стандарты RFC и поэтому сделали всё, что бы мы (юЗвери), не доставали их саппорт тупыми вопросами :)

      Ну а форму, можешь глянуть: http://веселый-потолочник.рф. Это если ссылка пройдет и не сочтут за рекламу или спам.

      Как-то так, дружище Brendmaster.

      • Brendmaster (12 комм.)

        Да форма у меня уже работает. Я просто хотел поле ТЕЛЕФОН еще добавить, а когда его добавил, перестало работать, ну а теперь убрал и все ок.

        • Lonely_Virus (5 комм.)

          Какой код вставляешь для поля телефон?

          PS Можешь на аську стукнуться. Вместе подумаем. Я тоже планирую телефон вставить. (481пять9пять9)

          • Brendmaster (12 комм.)

            Я в форме mail.php и в скрипте jquery.contactable.js дублировал просто код для емаил и изменил id на phone.

            С телефоном разобрался — вот коды, ну если кому надо (файл mail.php):

            <?php
            //declare our assets
            $name = stripcslashes ($_POST['name']);
            $emailAddr = stripcslashes ($_POST['email']);
            $phone = stripcslashes ($_POST['phone']);
            $comment = stripcslashes ($_POST['message']);
            $subject = stripcslashes ($_POST['subject']);
            $page = stripcslashes ($_POST['page']);
            $headers = "From: "$name" <$emailAddr>rn";
            $headers .= "Content-type: text/plain; charset=UTF-8rn";
            $contactMessage =
            "Имя отправителя: $name <$emailAddr>
            $comment
            $phone
            Письмо отправлено со страницы: $page
            IP отправителя: $_SERVER[REMOTE_ADDR]";
            //send the email
            mail ('ваша почта@mail.кг', $subject, $contactMessage, $headers);
            echo ('success'); //return success callback
            ?>

            а вот изменения в jquery.contactable.js

            (function ($){
            //define the new for the plugin ans how to call it
            $.fn.contactable = function (options) {
            //set default options
            var defaults = {
            url: 'http://demo.studiobrendmaster.ru/contactable/mail.php',
            name: 'Ваше имя',
            email: 'Ваш E-mail',
            phone: 'Ваш телефон',
            message : 'Сообщение',
            subject : 'Студия BRENDmaster',
            page : location.href,
            submit : 'Отправить письмо',
            recievedMsg : 'Студия BRENDmaster, с радостью ответит на Ваше письмо',
            notRecievedMsg : 'Извините, но при отправке письма произошла ошибка, попробуйте позже',
            disclaimer: 'Пожалуйста, не стесняйтесь отправлять сообщения. Мы будем очень признательны за все отзывы и с радостью ответим на все ваши вопросы!',
            hideOnSubmit: true
            };
            //call in the default otions
            var options = $.extend (defaults, options);
            //act upon the element that is passed into the design
            return this.each (function () {
            //construct the form
            var this_id_prefix = '#'+this.id+' ';
            $(this).html ('<div id="contactable_inner"></div><form id="contactForm" method="" action=""><div id="loading"></div><div id="callback"></div><div class="holder"><p><label for="name">'+options.name+'<span class="red"> * </span></label><br /><input id="name" class="contact" name="name"/></p><p><label for="email">'+options.email+' <span class="red"> * </span></label><br /><input id="email" class="contact" name="email" /></p><p><label for="phone">'+options.phone+' <span class="red"> * </span></label><br /><input id="phone" class="contact" name="phone" /></p><p><label for="message">'+options.message+' <span class="red"> * </span></label><br /><textarea id="message" name="message" class="message" rows="10" cols="30" ></textarea></p><p><input class="submit" type="submit" value="'+options.submit+'"/></p><p class="disclaimer">'+options.disclaimer+'</p></div></form>');
            //show / hide function
            $(this_id_prefix+'div#contactable_inner').toggle (function () {
            $(this_id_prefix+'#overlay').css ({display: 'block'});
            $(this).animate ({"marginLeft": "-=5px"}, "fast");
            $(this_id_prefix+'#contactForm').animate ({"marginLeft": "-=0px"}, "fast");
            $(this).animate ({"marginLeft": "+=387px"}, "slow");
            $(this_id_prefix+'#contactForm').animate ({"marginLeft": "+=390px"}, "slow");
            },
            function () {
            $(this_id_prefix+'#contactForm').animate ({"marginLeft": "-=390px"}, "slow");
            $(this).animate ({"marginLeft": "-=387px"}, "slow").animate ({"marginLeft": "+=5px"}, "fast");
            $(this_id_prefix+'#overlay').css ({display: 'none'});
            });
            //validate the form
            $(this_id_prefix+"#contactForm").validate ({
            //set the rules for the fild names
            rules: {
            name: {
            required: true,
            minlength: 2
            },
            email: {
            required: true,
            email: true
            },
            phone: {
            required: true
            },
            message: {
            required: true
            }
            },
            //set messages to appear inline
            messages: {
            name: "",
            email: "",
            phone: "",
            message: ""
            },
            submitHandler: function () {
            $(this_id_prefix+'.holder').hide ();
            $(this_id_prefix+'#loading').show ();
            $.ajax ({
            type: 'POST',
            url: options.url,
            data: {subject:options.subject, page:options.page, name:$(this_id_prefix+'#name').val (), email:$(this_id_prefix+'#email').val (), phone:$(this_id_prefix+'#phone').val (), message:$(this_id_prefix+'#message').val ()},
            success: function (data){
            $(this_id_prefix+'#loading').css ({display:'none'});
            if ( data == 'success') {
            $(this_id_prefix+'#callback').show ().append (options.recievedMsg);
            if (options.hideOnSubmit == true) {
            //hide the tab after successful submition if requested
            $(this_id_prefix+'#contactForm').animate ({dummy:1}, 2000).animate ({"marginLeft": "-=450px"}, "slow");
            $(this_id_prefix+'div#contactable_inner').animate ({dummy:1}, 2000).animate ({"marginLeft": "-=447px"}, "slow").animate ({"marginLeft": "+=5px"}, "fast");
            $(this_id_prefix+'#overlay').css ({display: 'none'});
            }
            } else {
            $(this_id_prefix+'#callback').show ().append (options.notRecievedMsg);
            setTimeout (function (){
            $(this_id_prefix+'.holder').show ();
            $(this_id_prefix+'#callback').hide ().html ('');
            },2000);
            }
            },
            error:function (){
            $(this_id_prefix+'#loading').css ({display:'none'});
            $(this_id_prefix+'#callback').show ().append (options.notRecievedMsg);
            }
            });
            }
            });
            });
            };
            })(jQuery);

            Вот только как добавить поле с выбором темы из списка открывающегося, никак не могу догнать.

  15. Brendmaster (12 комм.)

    Забыл в css файле contactable.css надо добавить в самом низу строчку строка около 100-106

    #contactable #phone.error { background-color: #EDBE9C; }

    если не добавить, то если поле телефон не заполнено оно красным выделяться не будет

  16. Brendmaster (12 комм.)

    Ну и наконец подскажите пожалуйста кто-нибудь как сделать поле ТЕМА СООБЩЕНИЯ с выбором тем из открывающегося списка, буду очень благодарен, да и многим пригодиться я думаю

  17. Lonely_Virus (5 комм.)

    Brendmaster — Привет. Я обязательно этим займусь, после того, как Яндекс закончит мудить со сменами алгоритмов ранжирования... Еле успеваю менять стили раскрутки, подстраиваясь под него. Клиенты нервничают и приходиться вкалывать по полной. (((

  18. Владимир (5 комм.)

    Классная форма обратной связи, давно такую искал. Сделал все по инструкции, но форма не прячется за край страницы, а все время находится поверх страницы сайта. Т.к как я совсем не разбираюсь в программировании, сделать ничего не могу. Может кто подскажет как исправить данную неприятность...

    • АлаичЪ

      Тут дело скорее всего в css стилях. Уже надо на реальном сайте смотреть реальный случай.

      Обратитесь вот к Brendmaster'у, он, я смотрю, разбирается тоже :)

      • Brendmaster (12 комм.)

        АлаичЪ, а ты может поможешь с списком открывающимся с выбором темы сообщения? А то я уже всю голову сломал

        • АлаичЪ

          Помочь-то смогу, но только через неделю, не раньше, извини. Я сечас в отпуске, с лялей няньчусь, времени вообще нет.

  19. Владимир (5 комм.)

    Насколько я понимаю дело не в настройках, а в месте расположения кодов на страницах шаблонов. Или я не прав?

    • Brendmaster (12 комм.)

      Скорее всего. Надо смотреть на самом сайте

      • Владимир (5 комм.)

        Перепроверил. Вроде все правильно. Но по прежнему не прячется :(

        <head>
        <link rel="stylesheet" href="http://inhoteb.jino.ru/contactable/contactable.css" type="text/css" />
        </head>
        <body>
        <div id="contactable"><!-- contactable html placeholder --></div>
        <!--start contactable js -->
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
        <script type="text/javascript" src="http://inhoteb.jino.ru/contactable/jquery.validate.min.js"></script>
        <script type="text/javascript" src="http://inhoteb.jino.ru//contactable/jquery.contactable.js"></script>
        <script type="text/javascript">$(function (){$('#contactable').contactable ();});</script>
        <!--end contactable js -->
        </body>

        Выдержка из кода страницы.

        • Brendmaster (12 комм.)

          А у вас библиотека jquery не подключена случайно повторно? Это во-первых, а во-вторых у Вас второй слеш вот тут:

          http://inhoteb.jino.ru//contactable/jquery.contactable.js

          • Владимир (5 комм.)

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

  20. Brendmaster (12 комм.)

    скинь мне на почту index свой, я посмотрю brendmastermilano@gmail.com

    • Владимир (5 комм.)

      Фаил скинул. Проверил работу скрипта в дримвивер, все прекрасно работает )) а на сайте не хочет

  21. Brendmaster (12 комм.)

    Отправил, проверь. Код у тебя очень корявый, фиг найдешь )))

  22. АлаичЪ

    Посмотрел сайт, это, конечно, жесть, но что уж...

    Как я и говорил выше, я продолжаю грешить на ваш style.css. Попробуйте его из кода страницы внеменно удалить и проверить работоспособность формы, должна заработать.

    • Владимир (2 комм.)

      Да я же говорю, абсолютно не понимаю в программировании, собирал в конструкторе.

      В любом случае, спасибо вам за помощь, хотя и ни чего не вышло ))

      • Владимир (2 комм.)

        Да, действительно, удаление style.css из кода страницы помогло, но полностью "разобрало" страницу на составляющие ))

        Видимо не судьба )

        • АлаичЪ

          Значит дело в конкретных стилях сайта, а так как ваш style.css вообще не поддается приручению, я его изучил и он совершенно не человекопонятный, то тут надо либо самому копать, либо прочить кого-то.

  23. Сергей (3 комм.)

    У меня по началу не работал (Не отправлял сообщения -писал ошибку)

    Я заменил файл jquery.validate.min.js на другой такой же скачанный с сайта (Указанном в jquery.validate.min.js) то есть адрес

    http://bassistance.de/jquery-plugins/jquery-plugin-validation/

    отсюда я его скачал и заменил на последнюю версию, а именно 1.9

    Но у меня с начала такая проблема. (Сайт у меня на jquery- ну у него страниц несколько и они переключаются без обновления сайта.) так вот после установки (<div id="contactable"><!-- contactable html placeholder --></div>) то есть кода который выводит. У меня сразу страницы стали в ряд (То есть изначально на главной странице 1, а после установки скрипта сразу они все выскакивают и отображаются по очереди вниз.

    • Сергей (3 комм.)

      хотя нет, отправка появилась после изменения пути в файле (jquery.contactable.js) там я до файла mail провел такой путь (/123/feedback/mail.php — вместо того что было бы http://site.ru/123/feedback/mail.php)

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

      • Сергей (3 комм.)

        Проблема решена! Удалил из этого кода:

        <!--start contactable js -->
        <script type="text/javascript" src="/jquery/1.7.1/jquery.min.js"></script>
        <script type="text/javascript" src="/jquery.validate.min.js"></script>
        <script type="text/javascript" src="/jquery.contactable.js"></script>
        <script type="text/javascript">$(function (){$('#contactable').contactable ();});</script>
        <!--end contactable js -->

        Вот эту строку:

        <script type="text/javascript" src="/jquery/1.7.1/jquery.min.js"></script>

        И все заработало.

        • АлаичЪ

          Да, два раза подключать jQuery библиотеку — это ошибка. Надо сделать пометку в посте. А но народ, как всегда, наломает дров, а потом не знают почему так получается ;)

  24. Susanin (2 комм.)

    Добрый день!

    Подскажите как поставить сюда капчу ?

    • АлаичЪ

      Никак, читайте внимательно пост! Там написано, что капча не нужна — боты не смогут спамить в эту форму, так как работает она через яваскрипт.

      • Susanin (2 комм.)

        Извиняюсь, просто смотрел в книгу и самого главного не заметил )

      • Макс (1 комм.)

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

  25. Андрей (1 комм.)

    А подскажите, как реализовать, чтобы при нажатии на кнопку отправить месседж уходил на почту, но также при нажатии открывалось определенное окно?

    • АлаичЪ

      Смотрите дополнительный пункт в посте под названием "Всякие дополнительные фишки".

  26. Александр (2 комм.)

    Добрый день!

    В IE не отрабатывает плагин валидации(критично, что в поле эл.адреса можно указать дребедень).

    Пытались победить данную проблему?

    • АлаичЪ

      В IE9 точно работает, только что проверил. Других версий у меня нет, да и вообще я давно перестал поддерживать функциональность для старых IE, мне жалко людей, использующих эти браузеры :)

      • Александр (2 комм.)

        IE 7, IE 8 — даже если поле подсвечивается красным, по жамку на "отправить" письмо уходит.

        *для теста можно включить режим обратной совместимости (кнопка справа от адресной строки браузера).

        Да, я также не сторонник ИЕ. Но этим браузером до сих пор пользуется порядка 50% юзеров инета. Не поддерживать данный браузер пока что, как минимум, неправильно, как максимум нельзя. Я не говорю сейчас о частных блогах.

        Ок. нет так нет. Буду разбираться)

        • АлаичЪ

          Ваша правда. На IE9 все работает как надо, а вот в режиме совместимости валидатор не отрабатывается :(

          Но на счет 50% доли IE вы не правы: Explorer 8 — 7%, Explorer 9 — 4,9%, Explorer 7 — 2,6%, Explorer 6 — 1,1%. Итого доля «печальных» пользователей 7+2,6+1,1=11,7% — а это далеко не 50%! Я в подсчетах исключил IE9, так как в нем все ок, даже css3 поддерживается.

  27. Александр (2 комм.)

    Поставил, настроил — огромное спасибо за рецепт!

    Вот только оказалось, что часть посетителей сайта в упор не видят кнопочку у левого края окна (которая у Вас называется "Feedback").

    И что самое печальное — среди этих посетителей оказались заказчики. Искать другой скрипт желания нет — уж больно Ваш хорош. То есть возникла необходимость продублировать кнопку "Feedback" текстовой ссылкой на той же странице.

    Конкретно: как вызвать срабатывания функции "открыть форму" через клик на тексте "Задать вопрос" (или на какой-нибудь картинке) в теле html-страницы?

    Буду очень признателен, готов перевести вэб-мани за ответ.

    • АлаичЪ

      Без проблем, необходимо сделать обычную ссылку, только вместо атрибута href="..." необходимо написать onclick="..."

      В итоге должно получиться что-то в духе <a onclick="$('#contactable_inner').click (); return false;">*тут анкор ссылки*</a>.

      PS Решение подсказал мой любимый программист Саня Фомин, отблагодарить можно его, ему будет приятно.

      • Александр (2 комм.)

        Реально заработало вот в таком виде:

        <a onClick="$('contactable_inner').click (); return false;">Задать вопрос</a>

        (один "#" оказался лишним).

        Для тех, кто будет пытаться это применять просто копируя, для начала лучше использовать вот такую строку:

        <a href="" onClick="$('contactable_inner').click (); return false;">Задать вопрос</a>

        — без "href="" текстовая ссылка просто так не отобразится.

        В любом случае спасибо за оперативную помощь, пойду переводить обещанные вэб-мани.

        • АлаичЪ

          Удивительно, что заработало без решетки #, а точнее удивительно, что не заработало с ней. Потому что правильно именно с решеткой, это указатель id.

          И без href ссылка отобразится ;) Стили же обычно прописываются применимо к элементу <a>, а потом дополнительно для :hover, :active, :visited. Наверное у вас не так...

          Ну да ладно, не буду грузить, главное что заработало.

        • азат (12 комм.)

          А между href="" что писать, я не понял?

          • азат (12 комм.)

            Сам разобрался, вот так сработало:

            <a onclick="$('#contactable_inner').click (); return false;">Задать вопрос</a>

  28. marina (6 комм.)

    Ребята, помогите, пожалуйста!!!

    На сайте с доменом .com все отлично работает. Ставлю форму на сайт .рф — ничего не отправляет! Причем, если в contactable.js прописать путь к файлу .php, который лежит на другом сайте с доменом .com — письма приходят, но в форме появляется надпись "произошел сбой при отправке". Может, причина в русскоязычном домене?

    Может, кто-нибудь подскажет где копаться?

    • АлаичЪ

      Все работает, я только что проверял на своем домене алаичъ.рф. Только есть особенность, адрес надо указывать в таком виде — http://xn--80aayk6ds.xn--p1ai/ (тут как раз и написано http://алаичъ.рф/).

      Так что следуйте инструкции, и где надо заменить site.ru на свой сайт, пишите адрес в указанном виде.

      • marina (6 комм.)

        Да, Александр, Спасибо! Я и в такой кодировке url указывала — ничего! Все с другой стороны оказалось. Тарифный план на хостинге, оказывается, не поддерживает php и MySQL!!! А я, как обезьяна, два дня в коде ковырялась!!! Хорошо — додумалась у них спросить в чем дело, а то бы с ума сошла. Вот, иногда полезно совсем с другой стороны посмотреть на проблему. План сменили, завтра попробую поставить. Еще раз Спасибо!

        • АлаичЪ

          Да, бывает отказывается и такое :)

          Отпишитесь потом, заработало ли все правильно.

  29. andron2900 (2 комм.)

    Настроил, все работает, одна проблема осталась — научить отправлять письма на почтовые ящики со спецсимволами.

    К примеру, если я в mail.php прописываю свой ящик office-worker@ya.ru, т.е. ящик со знаком — , то письма не приходят, а если прописываю другой ящик, который не имеет в имени спецсимволы, то приходит письмо нормально.

    • АлаичЪ

      Должно работать.

      Я проверил для своего ящика, который содержит в адресе нижнее подчеркивание "_" — письмо нормально дошло.

  30. andron2900 (2 комм.)

    Установка формы обратной связи для DLE DataLife Engine 9.4

    1. Скачиваем архив в нужной кодировке и распаковываем.

    2. Вносим изменения в файлы mail.php и jquery.contactable.js (см. ниже).

    3. Папку contactable и все ее содержимое закидываем на сервер в папку вашей темы оформления (шаблона), т.е. /templates/ваш_стиль/. При этом файл mail.php из этой папки заливаем в /engine/modules/.

    4. В шаблоне своего сайта main.tpl между тегами <head> и </head> вставляем следующий код:

    <link rel="stylesheet" href="{THEME}/contactable/contactable.css" type="text/css" />

    5. В шаблоне своего сайта main.tpl ПОСЛЕ открывающего тега <body> вставляем следующий код:

    <div id="contactable"><!-- contactable html placeholder --></div>

    6. В шаблоне своего сайта main.tpl ПЕРЕД закрывающим тегом </body> вставляем следующий код:

    <!--start contactable js -->
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js?ver=1.7.1"></script>
    <script type="text/javascript" src="{THEME}/contactable/jquery.validate.min.js"></script>
    <script type="text/javascript" src="{THEME}/contactable/jquery.contactable.js"></script>
    <script type="text/javascript">$(function (){$('#contactable').contactable ();});</script>
    <!--end contactable js -->

    Очень важный момент! Если на сайте уже подключена библиотека jQuery (а в большинстве случаев это так), то второй раз подключать ее нельзя. В таком случае в коде выше надо убрать строку:

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js?ver=1.7.1"></script>

    Иначе могут возникнуть конфликты — или форма не заработает, или сайт может «развалиться».

    7. Сохраняем файл шаблона. Обновляем любую страницу сайта и начинаем тестировать форму обратной связи!


    Перед тем как заливать файлы из архива к себе на сервер (третий шаг установки), надо внести в них некоторые правки.

    1. Открываем файл jquery.contactable.js и находим там следующий код:

    		var defaults = {
    			url: '/engine/modules/mail.php',
    			name: 'Ваше имя',
    			email: 'Ваш E-mail',
    			message : 'Сообщение',
    			subject : 'Feedback from MySite',
    			page : location.href,
    			submit : 'Отправить письмо',
    			recievedMsg : 'Благодарю вас за письмо',
    			notRecievedMsg : 'Извините, но при отправке письма произошла ошибка, попробуйте позже',
    			disclaimer: 'Пожалуйста, не стесняйтесь отправлять сообщения. Я буду очень признателен за все отзывы и с радостью отвечу на все ваши вопросы!',
    			hideOnSubmit: true
     
    		};

    Как минимум надо изменить для переменной url путь на указанный: '/engine/modules/mail.php'. Остальные переменные можете изменять по своему усмотрению.

    2. Открываем файл mail.php и находим там следующий код:

    	$contactMessage =
    "Имя отправителя: $name <$emailAddr>
     
    $comment
     
    Письмо отправлено со страницы: $page
    IP отправителя: $_SERVER[REMOTE_ADDR]";
     
    	//send the email
    	mail ('admin@site.ru', $subject, $contactMessage, $headers);

    Здесь вам необходимо прописать свой контактный e-mail, на который будут сыпаться письма. То есть заменяем admin@site.ru на свой ящик.

    Переменная $contactMessage содержит шаблон письма, которое вы будет получать. По умолчанию в шаблоне присутствуют имя и ящик отправителя, само сообщение, страница с которой было отправлено письмо (мне показалось, что это интересная информация для анализа) и IP адрес. Все это можете отредактировать как вам захочется.

    3. По желанию можете изменять внешний вид самой формы, ее цвета и т.д., все css-стили хранятся в файле contactable.css

    Можно пользоваться.

    • АлаичЪ

      Спасибо за комментарий, однако было много ошибок и неточностей, но я исправил и оформил. Добавлю ссылку на коммент в пост.

      • Ivan (1 комм.)

        а у меня на версии 10.1 ничего не отображается. Уже 3 часа потратил, проверяя, меняя, перечитывая. Алаич, посмотри пожалуйста мой сайт, может ты сможешь определить причину.

  31. Дмитрий (1 комм.)

    Здравствуйте. Подскажите можно ли эту форму использовать на сайте от Ucoz?

    Заранее спасибо.

    • АлаичЪ

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

  32. Григорий (4 комм.)

    Добрый день.

    Установил ваш скрипт, спасибо большое (еще утащил временно ваш дизайн, уж больно он хорош).

    Но при отправке почему-то выдает "Извините, ошибка...", вроде все пути прописал верно, перепроверил разные варианты. Где можно искать ошибку?

    При этом, если просто запустить mail.php — письмо (пустое конечно) успешно приходит на заданную почту.

    • АлаичЪ

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

      • Григорий (4 комм.)

        Спасибо.

        Вот правильно я понимаю, что если файл открывается просто в браузере, то адрес прописан правильно?

        var defaults = {
        			url: 'http://babydeal.ru/contactable/mail.php',

        Ведь не может же он просто брать и не работать?

        • АлаичЪ

          Ну логично...

          Вообще затрудняюсь ответить, где именно сбоит скрипт. Попробуйте на другом сайте, например (только не на локалке, на локалке работать на будет).

          • Григорий (4 комм.)

            Попробовал на другом сайте. Взял заново весь скрипт, положил в корень, указал относительные пути. Все видно, но та же ошибка :(

            Уже даже синтаксис посмотрел, думал, что проблема в строчке вызова url.

            Но вроде все ок, он явно просто не может достучаться до mail.php

            Менял им доступы даже на 777 — все равно ошибка. Как бы посмотреть где он затыкается? :(

          • Григорий (4 комм.)

            Все! Решил! Блин блинский! Я подумал, что строчка

            echo ('success'); //return success callback

            Вернет мне просто слово success и совсем не подумал, что это функция вызова и заменил ее на благодарственные слова. Идиот :)

            Извините за беспокойство. Спасибо за скрипт. Очень полезно!

  33. Анна (1 комм.)

    Огромное спасибо за скрипт!

    Хочу уточнить — сделал ли кто-нибудь селект с выпадающим списком частью формы? Если да, поделитесь, пожалуйста, кодом.

  34. Артем (1 комм.)

    Возникла проблема при подключении на DLE. Все добавил, но подключение формы не происходит, не умею отлавливать такие проблемы.

    Можно комментарий к данному мануалу в применении к DLE.

  35. Kaavain (1 комм.)

    Привет. Спасите чайника. Не нашел нигде более подходящего скрипта чем этот (на самом деле мне нужен еще проще — просто текстовое поле, но это я сам допилю). На основной сайт не ставил, пытаюсь прикрутить к простому HTML на другом сайте. Не входит хоть тресни. Все работает, показывается-прячется, письмо отправляется. НО! Окно не ложится поверх сайта, а вкрячивается там где его строка — сейчас, например, над всем сайтом сразу. Плюс ко всему еще и оформления нет вообще, все коряво... Что за дела?

    http://www.trafaret.tv/index2.html

    Что делал:

    1. Сделал все тщательно по инструкции.

    2. Прочитал все посты сверху донизу, блин — у всех работает!

    3. Отключал жиквери.мин, не помогло — все пропадает.

    4. Отключал свои стили сайта. Нет изменений вовсе.

    5. Посмотрел код этой страницы, тупо скопировал все линки на ЦСС-ки и вставил на свою страницу — оформление "закладки" стало как у тебя тут, но на выехавщей форме — корявость...

    6. Выпил 5 литров пива, побился головой об стену и пошел спать. На утро — все тоже самое.

    F1. Плиз.

    UPD: не работает (то есть криво выглядит и страницу бъет) только в ИЕ9. Мозилла, Опера, Сафари с айфона — все ОК, дизайна только нет (есть то бишь оригинальный).

    • АлаичЪ

      Ну что я могу сказать, раз везде, кроме IE отображается путем, то проблема в css стилях и только в них.

      Надо разбираться со стилями, но я этого делать не буду, это куча времени. Вам надо обратиться к верстальщику, он подскажет, где происходит конфликт.

  36. vanyastan (1 комм.)

    Люди добрые, а подскажите пожалуйста как эту форму параллельно вставить в хтмл код сайта? Тоесть у меня все получилось с выдвижной формой, а мне дополнительно нужно ее вставить в страницу сайта. Чтобы она находилась в статическом виде на странице.

    И еще вопрос, можно ли сделать так, чтобы когда выдвигается форма обратной связи, остальное поле затенялось? Тоесть допустим как в лайтбоксе при всплывающей картинке фон сайта затеняется.

    Заранее благодарен за внимание!

  37. Дмитрий (1 комм.)

    Привет! Установил форму на свой сайт, прочитал все внимательно. Форма выезжает нормально, хотя отображается не так как на вашем сайте, хотя отключил все свои стили. Но проблема в другом. После заполнения формы нажимаю отправить — появляется надпись "Извините, при отправке письма произошла ошибка ... и т.д." И все — форма не заезжает обратно. Долго бился, менял пути, ставил относительные и абсолютные, менял адрес отправки сообщения, обновил версию jquery.validate.min.js, изменял права доступа ко всем файлам до 777. Все бесполезно. Но когда заглянул в почтовые ящики — обалдел, все письма, которые отправлял дошли до ящика, причем это вообще не зависит от путей (относительные и абсолютные) и прав доступа (сейчас оставил 644).

    Какие есть идеи, почему выдает такое сообщение, хотя форма работает и почему не заезжает обратно??

    Заранее благодарен за ответ!!!

    • АлаичЪ

      Можно забить костыль на такую проблему :)

      В файле jquery.contactable.js

      Найдите:

      $(this_id_prefix+'#callback').show().append(options.notRecievedMsg);
      							setTimeout(function(){
      								$(this_id_prefix+'.holder').show();
      								$(this_id_prefix+'#callback').hide().html('');
      							},2000);

      Замените на:

      $(this_id_prefix+'#callback').show().append(options.recievedMsg);
      							if(options.hideOnSubmit == true) {
      								//hide the tab after successful submition if requested
      								$(this_id_prefix+'#contactForm').animate({dummy:1}, 2000).animate({"marginLeft": "-=450px"}, "slow");
      								$(this_id_prefix+'div#contactable_inner').animate({dummy:1}, 2000).animate({"marginLeft": "-=447px"}, "slow").animate({"marginLeft": "+=5px"}, "fast"); 
      								$(this_id_prefix+'#overlay').css({display: 'none'});	
      							}
  38. азат (12 комм.)

    Вопрос, можно ли его переделать под форму "Заказать звонок". Точнее надо просто убрать проверку "email", иконку я уже дорисую сам. Подскажите где это надо править.

    • АлаичЪ

      Смотрите файл jquery.contactable.js

      Вот в этом месте $(this).html (' ... '); формируется html-код самой формы.

  39. азат (12 комм.)

    Чтоб в форме были поля «Имя», «Телефон» и «Комментарии» надо найти вот это:

    $(this).html ('<div id="contactable_inner"></div><form id="contactForm" method="" action=""><div id="loading"></div><div id="callback"></div><div class="holder"><p><label for="name">'+options.name+'<span class="red"> * </span></label><br /><input id="name" class="contact" name="name"/></p><p><label for="email">'+options.email+' <span class="red"> * </span></label><br /><input id="email" class="contact" name="email" /></p><p><label for="phone">'+options.phone+' <span class="red"> * </span></label><br /><input id="phone" class="contact" name="phone" /></p><p><label for="message">'+options.message+' <span class="red"> * </span></label><br /><textarea id="message" name="message" class="message" rows="10" cols="30" ></textarea></p><p><input class="submit" type="submit" value="'+options.submit+'"/></p><p class="disclaimer">'+options.disclaimer+'</p></div></form>');

    И заменить на это:

    $(this).html ('<div id="contactable_inner"></div><form id="contactForm" method="" action=""><div id="loading"></div><div id="callback"></div><div class="holder"><p><label for="name">'+options.name+'<span class="red"> * </span></label><br /><input id="name" class="contact" name="name"/></p><p><label for="phone">'+options.phone+' <span class="red"> * </span></label><br /><input id="phone" class="contact" name="phone" /></p><p><label for="message">'+options.message+' <span class="red"> * </span></label><br /><textarea id="message" name="message" class="message" rows="10" cols="30" ></textarea></p><p><input class="submit" type="submit" value="'+options.submit+'"/></p><p class="disclaimer">'+options.disclaimer+'</p></div></form>');
  40. азат (12 комм.)

    Такая проблемка:

    На страничке с фотографиями у меня стоит lightbox , так вот, если я встраиваю данный скрипт на эту страничку перестает срабатывать плавное всплытие картинок. Мешат срабатыванию строчка:

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js?ver=1.7.1"></script>

    Удалив только ее все норм работает, как мне быть подскажите.

    Пытался код вставляемый перед закрытием </bodi> ставить вначале боди, тоже лайтбокс не работает.

    • АлаичЪ

      Как я и писал в посте, jQuery не должен вызываться дважды на странице. Так что вам надо сделать так, чтобы он не вызывался два раза. Попробуйте удалить из lightbox'а вызов jQuery оставив только тот, что подгружается моей формой.

      • азат (12 комм.)

        Сегодня пройдусь еще раз по коду, нет ли там второго вызова jQuery (код не мой просто)

  41. Sibiryak (1 комм.)

    Наконец-то настроил, всё заработало! Спасибо вам за отличную форму!

    Есть вопрос: После отправки сообщения форма полностью прячется, включая кнопку FREEDBACK, и не показывается до обновления страницы...

    Скажите, так и должно быть?

  42. Joker (4 комм.)

    Добрый день. Спасибо за форму! Просто шикарная. Но заметил одну проблему под новым фаерфоксом — полю ввода самого сообщения можно менять размер. Как в принципе и тому полю в котором я сейчас ввожу сообщение. Тянешь за правый нижний угол и вуаля.

    Может знает кто как это пофиксить?

    • АлаичЪ

      Да ерунда это все :)

      В css стилях формы добавьте строчку resize:none; — должно получиться примерно так.

      #contactable form#contactForm input, textarea {
      	...
      	resize:none;
      }
      • Joker (4 комм.)

        Спасибо.

        Ещё такой вопрос:

        Воткнул в шаблон joomla 1.5. на одной странице исмользовал mod_ice_accordion (модуль плавного открытия контента) и модуль стал отображать все посты всегда открытыми и не свернуть. Конфликт с jquery.min.js. Вожно ли их подружить? Или подскажите где копать)

        • АлаичЪ

          Как я и писал, подключаться должен только один jquery. Попробуйте при установке формы не подключать jquery, и ошибка пропадет.

          • Joker (4 комм.)

            Да, это я в курсе.

            Убирал её из подгрузки. Тогда исчезает обратная связь. С чем ещё может быть проблема?

            • Joker (4 комм.)

              Задам ещё один глупый вопрос недано начавшего самоучки :)

              Какие функции из jquery использует Ваша форма?

              А то впечатление, что или одну и ту же переменную библиотеки используют, или ещё какая фигня с именами функций.

              Думаю может вырезать нужные для формы из самой библиотеки, да попробовать, заработает ли. Или сие пустая трата времени будет?

              PS Ещё раз спасибо за форму и за помощь. Пойду изучать java и css с php :)

              • АлаичЪ

                Возможно, что версия jquery, которая используется вашим аккордеоном старая, а в ней нет тех функций, которые нужны форме. Предлагаю попробовать обратный вариант — не подгружать jquery от аккордеона, а вот от формы подгружать. В таком случае все должно нормально работать.

  43. Вячеслав (1 комм.)

    Приветствую.

    Спасибо, Александр, за отличный скрипт формы!

    Я с просьбой, не получается у меня толком поменять расположение формы, привязав её к низу, и чтобы вверх открывалась. Может кто уже сделал себе. Подскажите, пожалуйста.

    • АлаичЪ

      Там надо менять css-стили и вносить правки в js-скрипт, чтобы изменить расположение. Если готовы колупать файлы, то можете попробовать, но я бы не рекомендовал.

  44. олег (1 комм.)

    Доброго времени суток!

    Искренне благодарю вас, использовал данную форму в своем первом сайте, эта форма, так сказать, стала отправной точкой в нём! ОЧЕНЬ помогло, еще раз спасибо!

  45. Алексей (3 комм.)

    Здравствуйте, столкнулся с такой проблемой. Поставил форму по инструкции, результат оказался следующим: в самом верху сайта, форма обратной связи (без эффектов въезжания, а только чистая html форма), как можно исправить?

  46. Алексей (3 комм.)

    Новый вопросик, все прекрепил, все работает, кроме:

    Поле имя на почтовик приходит иероглифами, все остальное приходит нормально, в чем проблема?

    • АлаичЪ

      Можно попробовать изменить в файле mail.php кодировку отправляемого письма на windows-1251.

      Хотя странно, что имя приходит неверно, а все остальное нормально...

  47. Андрей (1 комм.)

    Здравствуйте.

    Спасибо, наконец-то то что нужно. А то все искал js+capcha... Прикрутилось с первого раза. Однако вот имею проблему в юзабилити:

    Если hideOnSubmit: true, то после успешной отправки сообщения, форма уезжает совсем. Даже ярлычок, на который надо нажать, чтобы форму раскрыть.

    Если hideOnSubmit: false, то после успешной отправки сообщения, форму пишет — "собщение отправлено", ее можно скрыть, но при повторном раскрытии видим то же "собщение отправлено". Приходится обновлять страницу.

    Подскажите, где подкрутить, чтобы форма возвращалась к исходному состоянию?

    • АлаичЪ

      Такой вариант работы не подразумевается данной формой. Если пользователям так надо отправлять сразу кучу писем, то в текст "сообщение отправлено", добавьте что-то в духе "для отправки еще одного сообщения перезагрузите страницу".

  48. Никита (1 комм.)

    Я вставляю скрипт по инструкции, всё работает только нет таблички отправить письмо, почему??

    • АлаичЪ

      Не знаю. Скорее всего надо стили смотреть.

    • Владимир (3 комм.)

      Никита, в файле contactable.css на 24 строчке поменяй высоту, например я выставил

      height:550px;

      можно больше...

  49. Денис (1 комм.)

    Александр, помогите пожалуйста разобраться со style.css (скорее всего это он) — почти все работает как нужно, единственный момент — окно сообщения статично, стоит на месте и незаезжает-невыезжает, а сам ярлычок feedback прячется-выезжает как нужно и сообщения тоже отправляются, подскажите где копать, пожалуйста.

    При удалении style.css форма работает как и должна, но теряется все оформление сайта.

    • АлаичЪ

      Непростая проблема. Где копать — в css стилях, где же еще =)

      Не глядя сказать невозможно в чем проблема. А мне разбираться с этим некогда, попробуйте обратиться к какому-нибудь верстальщику, он поможет.

  50. Andrei (1 комм.)

    Нашел ошибку у постера... andron2900 (2 комм.)

    21.03.2012 в 22:25 Установка формы обратной связи для DLE DataLife Engine 9.4

    файл jquery.contactable.js и код:

    Вместо url: 'engine/modules/mail.php',

    Нужно писать url: '/engine/modules/mail.php',

    — как сделать чтобы при получении письма в поле"От кого" стоял адрес отправителя а не своего сервера? Спасибо!

    • АлаичЪ

      Спасибо, исправил коммент.

      Вот примерный кусок кода из моего файла mail.php

      	$subject = stripcslashes($_POST['subject']);
              $page = stripcslashes($_POST['page']);
              $headers = "From: "$name" <$emailAddr>rn";
      	$headers .= "Content-type: text/plain; charset=UTF-8rn";
      	$contactMessage =
  51. Oleg (2 комм.)

    Сперва огромное спасибо! Подскажите пожалуйста, такова проблема. Залил... все отобразилось — отлично. Проверяю. Письма — нет... проверил mail.php. Все нормально, потом думаю попробую тыкнуть при пустых полях... И о боже... окно прячется и все... т.е. как я понял не отправляется ни чего... не выскакивают ошибки о пустых полях. В чем может быть проблема?

    • Oleg (2 комм.)

      Заработало... В чем именно была причина не понял. Все переписал и перезалил. Теперь точно спасибо!

  52. Тимур (1 комм.)

    Все поставил, все работает, вот только на почте пусто...

    Путь писал уже и относительный и абсолютный, что делать не понимаю.

    Пишет спасибо за сообщение, а на почте пусто.

  53. Александр (1 комм.)

    Интересно, а кто пробовал его прикрутить для ucoz? Очень интересно...

    • Владимир (3 комм.)

      На укозе есть свой конструктор форм. Не хуже этого. Просто поиграйся и настрой.

      Другое дело, что укоз только для начинающих. Раскрутишь немножко сайт — пойдет трафик — нагрузку сервера укоза не выдерживают — твой сайт на помойку выкидывают :)

  54. Виталий (1 комм.)

    Привет! Сделал все по инструкции для WordPress, ничего не происходит! Чистил кеши, разные браузеры — все безрезультатно! Не подскажешь?!

    • АлаичЪ

      Не подскажу, откуда мне знать в чем там проблема. Может скрипт не подключили, или наоборот два раза подключили, откуда мне знать...

  55. Stas (1 комм.)

    Здравствуйте. Столкнулся с такой проблемой письма отправляются но приходят они в папку спам как можно решить эту проблему?

    • АлаичЪ

      В чем конкретно дело не могу сказать. Но замечал, что если заголовок письма полностью на английском (на латинице, то есть), то может попадать в спам.

    • Wizard (3 комм.)

      Первое, неизвестно на какой ящик отправляешь!

      Если это частный ящик, смотрим в анти-спам фильтрации данного сервера.

      Если это ящик по типу Yandex, Mail.ru и других подобных почтовых сервисов, то у них свои специфики фильтрации и надо смотреть в их настройках.

      А вообще правильнее, это идти в их адресные книжки и добавить адрес. Далее прописать правило, что придя сообщение с ххх адреса пихать его в оную папку))

  56. Dizzy (2 комм.)

    Добрый день, такая проблема...

    Если вводить имя отправителя на русском языке, письмо не приходит, если на английском — то всё в порядке...

    В чём может быть проблема?

    • АлаичЪ

      Не знаю, у меня проходят письма с любыми именами, и на латинице и на кириллице.

      • Dizzy (2 комм.)

        Странно... Движок вордпресс... Может это хостинг шалит, не подскажите?

        • АлаичЪ

          Честно говоря даже и не знаю, я расписал в посте все именно так, как сделано на данном блоге и у меня...

  57. Wizard (3 комм.)

    To all

    Если кому не сложно подсказать решение проблемы.

    Во всех обозревателях отображается нормально, кроме нашего любимого IE. Причем неважно какой версии.

    Страница: http://luali.ru

    Форма размещена ниже как будет видно, проблему.

    Сама форма отказывается быть поверх странички и занимает область равную ее высоте.

    Перепробовал уже:

    Все библиотеки, отключать поочередно и все сразу.

    Все стили.

    И порядки их размещения.

    Единственное что могу сказать методами исключения, возможно "проблема" в файле jquery.contactable.js

    Из-за специфики IE в прочтении данных в этом файле.

  58. Виталий (1 комм.)

    Форма безусловно отличная...

    Но может кто подскажет как ее интегрировать в страницу, т. е. чтоб форма была расположена не в модальном окне, а в самой странице?

    • АлаичЪ

      Такой вариант не подразумевается. Но есть вариант вызова формы при помощи ссылки в тексте, например.

      Как это сделать, описано тут — #comment-8375

  59. Наталья (26 комм.)

    1. Как узнать установлена/подключена ли библиотека jQuery на сайте? Я чайник!

    2. Вы что все мои вопросы за спам приняли — почему снова 1 коммент показывает?

    • АлаичЪ

      1. Открыть исходный текст страницы и произвести поиск по фразе jquery. Цель — найти или jquery.min.js или jquery.js

      2. Нет, просто я для комментариев изменил ваш ящик на @gmail.com. Так что подсчет количества идет по идентификатору этого ящика.

      • Наталья (26 комм.)

        Спасибо за ответ! Лучше бы конечно яндекс ящик оставили, потому что подписку оформила, а все равно граватар тут не нужен у вас (он на ящик гугла заточен). Почту @gmail.com я не люблю — месяц уже не открываю ее там письма теряются. Так что ответов я не получу :(

        С подключением противоспам кода (тот что за 3 минуты) все получилось отлично — ни в корзине, ни в спаме пока ничего не было, акисмет и прочее даже удалила.

        Подсчет комментариев тоже работает :) Это приятно!

        За 2 недели жизни ваши коды самое приятное что произошло. Спасибо большое!!!

        А вот этот ответ озадачил "3. Нет. Что мешает нарисовать свой вариант?" — я не помню чего такого могла спросить, что такой ответ... Помню писала (в письме наверное) про "лифт" — так я ж чайник — не смогу просто — и мало кто может даже ;) Кстати, только что заметила кнопку лифта, по-моему, ее в прошлый раз не было (или может быть такое что в другом браузере не не видно? — заходила с другого браузера тогда).

        • АлаичЪ

          Ладно, не проблема, сменил ящик на @yandex.ru :)

          Рад слышать, что все работает как надо, значит я не зря старался!

          Про ответ нарисовать самому, это я накосячил немного, это не вы писали, а ответил вам. В итоге удалил и вопрос и свой ответ.

          Лифт у меня появился, как видите, после вашего письма сразу же и сделал. Действительно удобно оказалось, спасибо за совет!

          • Наталья (26 комм.)

            Да, все отлично работает. очень надеюсь что те плагин назад ставить не прийдется. Спасибо Александр! Так можно надеяться на рабочий код "лифта"? ;) В разных браузерах у меня ваш лифт отображается по-разному. Сейчас я в яндекс,интернете и вижу надпись еле заметную "наверх" слева, а в прошлый раз заходила с другого и видела справа довольно таки различимую КНОПКУ. Интересно почему так по-разному смотрится? Очень хотелось бы конечно двухсторонний лифт. вверх и вниз :)

            • АлаичЪ

              Возможно заходили в тот момент, когда я только внедрял код и экспериментировал.

              Насколько я понял вы хотите, чтобы я поделился кодом? Вообще я этого не планировал :) Но могу сказать, что часть кода я стырил у яндекса, а часть кода еще где-то стырил. Так что у меня такой вот код-мутант получился :)

              Если вам хочется, то вы можете поступить еще проще — честно стырить код у меня.

              • Наталья (26 комм.)

                Спасибо за честное предложение :) Я такой чайник еще, что не умею коды подсматривать. Искала где у меня библиотека джулери подключена или нет и не смогла — код внизу открыла, а прокрутка как-то работает неинтересно, вот если бы как в блокноте можно было открыть и поиском воспользоваться — может быть так и можно сделать, но я ж чайник :) но когда нахожу толковый материал, то довольно быстро внедряю к себе... т.е. не совсем пропащая, я думаю :)

  60. Евгений (1 комм.)

    Здравствуйте! Все сделал как написано в статье, только адрес к файлу получился другой (/public_html/wp-content/plugins/contactable/contactable.css). И в итоге ничего ( форма обратной связи не выводится). Так как я создаю первый сайт, ну вообще не знаю в чём может быть дело) подскажите пожалуйста

  61. Ципихович Эндрю (12 комм.)

    Спасибо, толково

    может и есть уже такой вопрос-ответ, но всё же

    после того как юзер попользовался формой, письмо отправил, кроме как перезагрузка страницы можно её снова вызвать? как?

    можете залить файл feeback.png, где указано "Написать письмо" Обратная связь" или в этом роде. Спасибо

    • АлаичЪ

      Нет, нельзя — только перезагрузка страницы.

      Картинки залить не могу, у меня их нет, а специально их делать нет желания.

  62. ТимурТТ (2 комм.)

    А можно сделать, что бы отправленые письма приходили на два емайла?

    • АлаичЪ

      Попробуйте продублировать строку mail('admin@site.ru', $subject, $contactMessage, $headers);, указав второй e-mail в ней.

      • ТимурТТ (2 комм.)

        не работает, такой сценарий. тоесть на первый приходит, а второй нет.

  63. Виталий (2 комм.)

    Отличная форма обратной связи! На сайт с голым HTML отлично стала. Работает безупречно! Рекомендую!

  64. Ципихович Эндрю (12 комм.)

    И я выше рекомендовал форму, у автора есть ещё поделки? Интерисует счётчики на сайт: посещения, скачивание, гостевая книга.

    Подобного в сети полно, толковое как форма есть?

    • АлаичЪ

      Установите себе на сайт счетчики Яндекс Метрика и Google Analytics и будет счастье.

      А причем тут гостевая книга я не понимаю...

  65. Виталий (2 комм.)

    Было бы прикольно иметь такую выдвижную форму для сохранения в соц сетях. Выдвигается, а там несколько кнопок на соц сети.

    • Наталья (26 комм.)

      Я тоже такую формочку хочу сбоку и удалить нафик плагин шаребуттонс, там фэйсбук перестал работать — он глючный вообщем. Подобные формы в действии видела, но кнопок там было максимум 4 — это очень мало и конечно никаких секретов по их установке не было, просто у людей есть такие "закладочки" уже. Где берут не знаю.

  66. Ципихович Эндрю (12 комм.)

    В связи с тем, что у меня возникли проблемы с отображением картинки вызывающей форму на 19" и 24" дюймовых мониторах

    подскажите каким ещё образом можно вызывать форму?

    • Ципихович Эндрю (12 комм.)

      В этой форме в css есть

      #contactable #contactable_inner {

      background-image:url (feedback.png);

      ...

      щёлкая по картинке появляется форма обратной связи, хотелось бы отказаться и трансформировать вызов это формы сюда:

      <p id="selectorClassa7">воспользоваться формой обратной связи</p>

      что тут надо добавить\изменить?, спасибо

      • АлаичЪ

        Вот вариант для вызова формы по клику на ссылку — http://alaev.info/blog/post/2681#comment-8375

        • Ципихович Эндрю (12 комм.)

          увы, с первого раза не получилось

          <p id="selectorClassa6">Чтобы написать мне письмо можно:</p>

          <p id="selectorClassa7">воспользоваться <a href="" title="Вызвать форму обратной связи" onClick="$('contactable_inner').click (); return false;">формой обратной связи</a></p>

          Что не так?

  67. Андрей (1 комм.)

    А как сделать так чтобы после отправки сообщения, диалоговое окно вернулось на исходное, а не вообще пропало, естественно с обнулением формы?

  68. Ципихович Эндрю (12 комм.)

    сейчас заметил, форму вызвал, передумал — убрал от неё осталась малозаметная полоска по вертикали на странице

    можно избавиться?

  69. Ципихович Эндрю (12 комм.)

    натыкаюсь на ситуацию — письмо не отправляет говорит ошибка

    много раз подряд??? что может быть???

  70. Ципихович Эндрю (12 комм.)

    сегодня та же история — говорит ошибка

    но письмо отправляет, в принципе так и вчера было, говорило об ошибке всегда, пару раз отправило, потом бойкот

  71. Вася (1 комм.)

    Ребят, все супер, но что там с выпадающим списком? Необязательно в теме (лично для меня). В тело бы письма...

  72. Levsha (2 комм.)

    Привет лучшему блогу! :)

    Постоянно читаю и учусь у вас. А сейчас пришел попросить подсказку.

    Довольно давно (думаю с полгода)установил себе на сайт такую форму, и она прекрасно работает, но недавно выяснилось что при регистрации нового пользователя и проверке введенного имени на незанятость, выдается сообщение "имя пользователя не может быть пустым!", позже выяснилось что удаляя строку:

    [code]<script type="text/javascript" src="/engine/modules/contactable/jquery.validate.min.js"></script>[/code] из main.tpl, форма регистрации работает нормально, но форма обр.связи перестает.

    ДЛЕ-9.4, levsha.org, подскажите ка можно исправить ситуацию.

    • АлаичЪ

      О как! Интересно девки пляшут! Видимо CMS использует аналогичный скрипт валидации...

      Я так понял, речь идет о движке DLE, если да, то читай дальше.

      Можно попробовать заключить код в теги [not-aviable=registration] и [/not-aviable] вот так:

      [not-aviable=registration]<script type="text/javascript" src="/engine/modules/contactable/jquery.validate.min.js"></script>[/not-aviable]
      • Levsha (2 комм.)

        Спасибо, АлаичЪ! Да, движок ДЛЕ, но не помог тег [not-aviable], попрежнему ругается как будто форма "логин" не заполнена.

        Выкрутился иначе, удалил из main.tpl отрывок кода:

        <!--start contactable js --> ... <!--end contactable js -->

        И вставил его в fullstory.tpl и shortstory.tpl, теперь форма обратной связи работает на главной, категориях и полных новостях.

        Это, конечно, не правильно, поэтому если ктото найдет корень проблемы — буду признателен.

  73. Pavel ASTRA (3 комм.)

    Друзья, очень понравилась форма — СУПЕР! Всё работает!

    Но не смог найти ответ на вопрос от 16.04.2012 в 12:20 : "... как эту форму вставить в хтмл код сайта? Тоесть у меня все получилось с выдвижной формой, а мне дополнительно нужно ее вставить в страницу сайта. Чтобы она находилась в статическом виде..."

    Это возможно реализовать?

    • Ципихович Эндрю (12 комм.)

      Как это «у меня все получилось с выдвижной формой», вяжется с этим «нужно ее вставить в страницу сайта»?

      • Pavel ASTRA (3 комм.)

        Эндрю, эту замечательную форму хочу использовать только на странице «Контакты» и в статичном виде в середине страницы! Весь день потратил и не смог самостоятельно разобраться, где настроить эти параметры!

        • Ципихович Эндрю (12 комм.)

          Я так понял, что хотите в двух местах, а сделали только в одном. Так во втором месте точно также.

          • Pavel ASTRA (3 комм.)

            Спасибо Эндрю за развёрнутый ответ! Вопрос лишь в том, что нужно поменять в коде, чтобы форма обратной связи была изначально открыта и располагалась в центре страницы?

  74. Наталья (26 комм.)

    Идем в админке во «Внешний вид» -> «Редактор», выбираем файл header.php, находим там </head> и ВЫШЕ вставляем:

    Александр, а если нет такого тега </head> ни открывающего, ни закрывающего, т очто делать? у меня вот как там вообще есть например: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head profile="http://gmpg.org/xfn/11">

    это начало кода, но видим, что что-то похожее заключается вот так: <head profile="http://gmpg.org/xfn/11">

    И есть скрипт который не заключен в теги, я попробовала первым вариантом вставить скрипт без тегов — не помогло и во втором случает это скрипт в любое место кода с тегами вот так: <head><script type="text/javascript">$(document).ready (function (){$('#contactable').contactable ();});</script></head>

    а вставила например между таких строк: <?php wp_enqueue_script ('jquery');?>

    <head><script type="text/javascript">$(document).ready (function (){$('#contactable').contactable ();});</script></head>

    <?php wp_head (); ?>

    <script type='text/javascript' src='<?php bloginfo ("template_directory");?>/letter-frame-templatelite.com.js'></script>

    Путь файла, который меняли в jquery.contactable.js у меня так прописала: http://uvlekatelnie-bonsai.ru/wp-content/plugins/contactable/mail.php — когда забиваю для проверки эту строчку в браузер, то выскакивает надпись: success

    Я так понимаю с адресом значит все в порядке -здесь не ошиблась. С хедером получается ошибка? что нет тегов таких?

    Не отобразилась формочка вообщем.

    а в functions.php один за другим 2 перечисленных кода вставила перед закрывающим ?> Это вроде правильно сделала.

    Подскажете мне что с кодом моим сделать куда что вставить в хедере? Так то все верно проделала.

    • АлаичЪ

      Если в header.php нет закрывающего </head>, значит надо искать его в дургом месте. Импровизировать тут нельзя и тем более самостоятельно прописывать <head>. Поищите в других файлах шаблона и вставьте туда, все будет работать.

      • Наталья (26 комм.)

        Проверила все свои файлы шаблона темы -нет этого <head> ни в одном :( Слово head встречается только в таком виде:

        <head profile="http://gmpg.org/xfn/11">

        <?php wp_head (); ?>

        без закрывающего тега.

        В хтмл учебниках пишут что закрывающий тег якобы необязателен или не везде обязателен. Просто расстройство какое-то — у всех нормально все, а у меня он осутствует :(

        • АлаичЪ

          Значит надо срочно создать закрывающий </head> перед <body>. А дальше все по инструкции.

          • Наталья (26 комм.)

            Пробовала и так. И по первому варианту даже уже попробовала. Не выходит "каменный цветок" :(

            • АлаичЪ

              Все, я устал, нет у меня больше идей =) Обратитесь к кому-нибудь, кто согласится разбираться с ситуацией...

              • Наталья (26 комм.)

                Да нет у меня никаких претензий. Очень своим шаблоном недовольна. Кто бы научил меня дизайн моего шаблона натянуть на F2 например. Пробовала, но пока не уразумела — сомневаюсь что это реально. Надо садится и учить все коды и фотошоп :(

                Еще вопрос не может ли установленная форма Контакт 7 (плагин) мешать появлению этой формочки обратной связи? Может плагин вмешивается и потому не видно? и еще немного запуталась в части 1 — это ко всем остальным сайтам, которые не на вордпрессе? там что-то по-поводу отключения библиотеки джеклювери написано, если она стоит уже.

                • АлаичЪ

                  > может ли установленная форма Контакт 7 (плагин) мешать появлению этой формочки обратной связи?

                  Отключите ее — сразу будет понятно.

                  > запуталась в части 1 — это ко всем остальным сайтам, которые не на вордпрессе?

                  Да, к любым сайтам.

                  • Наталья (26 комм.)

                    > запуталась в части 1 — это ко всем остальным сайтам, которые не на вордпрессе?

                    Да, к любым сайтам.

                    Можно ли к вордпрессу попробовать применить? Может ему первый вариант больше по душе прийдется?

                    • АлаичЪ

                      Попробуй, но оба варианта идентичны по сути. Но чем черт не шутит...

  75. Александр (1 комм.)

    Здравствуйте. Установил ваш скрипт на сайт... в мозилле и в хроме все норм... а в IE9 почему-то кнопка прячется за флешем... подскажите, пожалуйста, как исправить ситуацию? Заранее спасибо!

  76. ceki (1 комм.)

    Visyo sdelal kak nado. no email ne otpravlayaet. dazhe ustanovil jquery-1.8.2.min.js ... no ne polucaetsa

  77. Justin_DEAD (1 комм.)

    Спасибо, прикрутил форму на сайт Opencart. Очень удобно

  78. Максим (1 комм.)

    Пробовал поставить на wordpress. Вторым способом не получилось. Форма не появилась. Пробовал первым. Форма появляется, но она кривая. Нету кнопки отправить письмо. Плюс еще перекосилось верхнее меню на mootools. А именно подменю, которое должно вылетать при наведении мышки не показываетя, а отображается рядом. Думал, проблема в этой строке <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js?ver=1.7.1"></script>

    После удаление меню пришло в норму, но форма снова исчезла.

    Шаблон Praven. Кто-нибудь сталкивался с такой проблемой? Есть варианты её решения?

  79. Оля (2 комм.)

    Спасибо большое за форму! С выезжающей панелькой всё получилось. Но мне надо дополнительно сделать вызов формы из текста новости (движок DLE 9.5). Делала, как указано выше в комментариях <a onclick="$('#contactable_inner').click (); return false;">Оформить заявку</a>, ссылка появляется, но она не кликабельна.

    Подскажите, плиз, что надо прописать, чтобы открывалась форма. Если href, то какую ссылку там указывать.

    Спасибо.

    • АлаичЪ

      Попробуйте так <a href="#" onclick="$('#contactable_inner').click (); return false;">Оформить заявку</a>

      • Оля (2 комм.)

        Попробуйте так <a href="#" onclick="$('#contactable_inner').click (); return false;">Оформить заявку</a>

        Увы, если ставлю так, то при нажатии на ссылку просто срабатывает скролл вверх страницы.

  80. Васька (2 комм.)

    Спасибо! прикольная форма. А у меня сайт на php. Как сделать, чтобы форма была на всех страницах? Просто теги боди и head у меня только на отдельных страницах, а хэдэр, футер и левый блок одни и те же. Это мне сейчас на всех страницах впихивать код? Может можно как то иначе?

    Блин, запутался... АлаичЪ, ваш специалист может мне помочь за 500 рубликов? Хочу чтобы не вставлять код на все страницы.

    • АлаичЪ

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

      Специалист, не специалист, но код в любом случае придется вставлять на все страницы. Иначе переделывать сайт надо, а это уже не 500р. Напишите мне в feedback, я дам контакт программиста, там уже сами решите что к чему.

      • Васька (2 комм.)

        куда написать?.. ну он лайн консультанты же делают как то, чтобы он на всех страницах отображался?

  81. Supaman (4 комм.)

    Что то у меня не отображается :( Вроде все сделал по инструкции

  82. Kim (2 комм.)

    Здравствуйте.

    Установил на DLE 9.7 и настроил "под себя" за пару часов (сама установка заняла не более 10 мин.) все работает замечательно... за исключением того, что посетители теперь не могут зарегистрироваться :) постоянно сообщается, что данное (любое) имя уже зарегистрировано...

    Жаль конечно, но придется отказаться от данной формы.

    В любом случае — благодарю Вас за полезные статьи, модули и прочие полезности :)

  83. виталикa (1 комм.)

    А как сделать так чтоб поле было необязательным для заполнения?

  84. Герман (1 комм.)

    Добрый вечер! Я начинающий в этом деле. Хотел узнать как сделать данную форму с другой стороны? Три часа заменял в файлах contactable.css и jquery.contactable.js значение left на right и соответственно — на +, в результате форма вылезла на середину сайта:)), но так и осталась левой. А так все работает отлично с первого раза.

    Спасибо

    • АлаичЪ

      Чтобы сделать ее с другой стороны надо кучу всего поменять, и не только плюс на минус и т.д., короче, лучше оставить как есть :)

  85. Борис (4 комм.)

    Привет!

    Прикрутил как в мануале написано.

    jquery запускается в хидере. Скачал свежий.

    Форма глючит — падла.

    Загружаю страницу — форма ныкается влево и не остается хвостика.

    Если подключить CSS, то видно как хвостик сворачивается в точку влево.

    Еще один симптом — форма не вываливается по клику на ссылку.

    Короче, какая-то засада.

    Есть какие идеи?

    CMS MODX Revolution 2.2.6-pl

    посмортеть на чудо можно тут oneserv.ru

    • Борис (4 комм.)

      Эх, Алаич. Как не стыдно тебе чужие скрипты за свои выдавать?

      То-то я смотрю не особо ты шаришь че к чему в них :)

      http://theodin.co.uk/blog/ajax/contactable-jquery-plugin.html

    • Борис (4 комм.)

      У кого такие же симптомы — это из-за JQuery 1.9.Х

    • Борис (4 комм.)

      И еще одно замечание — если форма не отправляет данные, то скорее всего не верно указан путь до mail.php

      Путь должен быть полным от корня сайта, как до скриптов.

      К картинкам в CSS надо указать путь относительно расположения скриптов. То есть, для оригинального размещения это ./images/filename.ext

      В любом случае, скрипт клевый :)

  86. Руслан (1 комм.)

    Добавил поле для отправки номера — всё работает, кроме одного. Поле для ввода сообщения слишком велико и кнопка отправить просто не отображается, пока не уменьшить поле растягиванием. Вопрос, как изначально задать его конкретную высоту, в цсс она вроде не указана.

    • АлаичЪ

      Все там указано, смотри где есть textarea и пропиши значение height, а там по ходу дела разберешься.

  87. Миша (6 комм.)

    Здравствуйте, установил ваш скрипт, все прекрасно работает, почта приходит. Но проблема в том, что когда имя отправителя написано на русском, на почту приходят иероглифы в поле от кого. Но если открыть e-mail, и посмотреть внутри то имя отображается кириллицей. Я так понял дело в кодировки файла jquery.contactable. Почта у меня gmail. Помогите пожалуйста исправит.

  88. Tasha (3 комм.)

    Добрый день! Установила все по рекомендациям. Залила все файлы, исправила мыло

    Форма проявилась и выдвигается. НО! Письма не приходят на почту. Страница просто перезагружается и возвращает на главную.

    Подскажите что-то пожалуйста.

    Перепробовала все! Даже с сайта http: //theodin.co.uk все попробовала установить. Тоже ноль!

    Письма не приходят.

    Уважаемый АлаичЪ! Мне ваш скрипт формы нравится, очень хочется, чтобы письма все-таки приходили.

    Блог у меня на платформе Blogger.

    • АлаичЪ

      Возможно причина как раз и заключается в том, что платформа blogger, может быть там заблокированы возможности отправки писем :(

      • Tasha (3 комм.)

        Здравствуйте АличЪ! Печально, если так. Blogger хорошая платформа, особенно для начинающих. Может что-то посоветуете? Какой-нибудь другой скрипт? Только не онлайн формы. Они не надежны.

        Я давно ищу хорошую, с настройками css форму. Ваша очень подходит. Может можно и ваш скрипт как-то настроить на Blogger ))).

        Надеюсь на ваш ответ.

        • АлаичЪ

          Ничем не смогу помочь, я с платформой blogger не знаком.

          Вот что нагуглил быстренько, выглядит прилично, вроде:

          http://irjkz.ru/2012/04/obratnaya-svyaz-blogger.html

          http://www.avitra.ru/2012/02/html.html

          http://blogger.omg-linux.ru/2011/09/kak-sdelat-formy-obratnoy-svyazi-v.html

          • Tasha (3 комм.)

            Спасибо большое! На всех этих ссылках была, но там именно сторонние формы. Жаль, но надежды не теряю. Может еще найдется решение именно для Blogger. Еще раз спасибо!

  89. Миша (6 комм.)

    Здравствуйте АличЪ, установил ваш скрипт, все прекрасно работает, почта приходит. Но проблема в том, что когда имя отправителя написано на русском, на почту приходят иероглифы в поле от кого. Но если открыть e-mail, и посмотреть внутри то имя отображается кириллицей. Я так понял дело в кодировки файла jquery.contactable. Почта у меня gmail. Помогите пожалуйста исправит.

  90. Александр (3 комм.)

    Спасибо, скрипт классный, легко ставиться, проблем почти нет, разве что как у Михаила, тема письма "крякозябрами" если кирилица. коечто по этому поводу нарыл, вот тут: http://www.web-masteru.info/otpravka-e-mail-v-russkojj-kodirovke-sredstvami-php.html но c PHP знаком оочень на ВЫ. Автор помогите пожалуйста с этим вопросом.

    ЗЫ если кому актуально, знаю как сделать статично на странице (как тут pro100design.kiev.ua/kontakty.html)

  91. Андрей (1 комм.)

    Сдраствуйте АличЪ, у меня возникла проблема с отправкой писем, все настройки сделал как было указано, прописал своё мыло, а выводит ошибку.

    п.с. Я пока что тренируюсь, разрабатываю сайты на localhost

  92. Игорь (1 комм.)

    Здраствуйте! А как сделать несколько форм на одной странице?

  93. Виталий (1 комм.)

    На IE9 не работает, сайт уезжает далеко вниз и форма выезжает корявой. Жаль((((

    • АлаичЪ

      Это не в форме проблема, а в вашем сайте, можете сами проверить, что на моем блоге и в IE все отлично работает.

  94. Андрей (1 комм.)

    Здравствуйте такой вопрос, на хостинге клиента по минимальному тарифу не стоит модуль php. Значит ваша форма работать не будет, правильно ли я понял. И возможно ли установить самому модуль php на сервер сайта.

    • АлаичЪ

      Если php нет, значит его нет, на это повлиять нельзя никак, кроме как взять тарифный план, где поддержка php подразумевается.

  95. @spr@m (6 комм.)

    Добрый вечер. Спасибо большое за скрипт, форма четко отображается, все казалось бы хорошо, но тестируя заметила вот что: письмо отправляется, пишет "Благодарю Вас за письмо", но письмо не доходит, хотя в mail.php почта указана, помогите пожалуйста, форма очень нравится, не хотелось бы отказаться от нее.

    • Александр (3 комм.)

      Одно из двух: отключена/отсутствует функция mail () на хостинге, или письма в спам идут.

      или третье — где то ошиблись

      • @spr@m (6 комм.)

        Спасибо, поняла в чем проблема, я вставляла туда обычный e-mail, зашла на админ панель в аккаунте хостинга, чтобы посмотреть настройки почты, там все включено было и создала почту типа test@site.com, эту созданную почту вписала в код, все сработало, получается скрипт не работает когда в коде вставлена обычная почта типа ... @yandex.ru, но работает когда в коде вставлена почта созданная прямо в хостингере. Может это пручиды моего хостинга, не знаю.

  96. Алексей (5 комм.)

    Доброе время суток.

    Спасибо за форму обратной связи.

    Но при установке возникла проблема, не отображается картинка с надписью Feedback, кажется все настроено правильно, форма работает исправно, письма отправляются и приходят(((

    В файле css путь к картинке прописан!

    в чем может быть проблема?

  97. Explate (1 комм.)

    Как настроить форму обратной связи для сайта если он находится на локальном хосте — (веб-сервер Appserv) или что нужно сделать чтобы письма приходили?

  98. feminite (1 комм.)

    Спасибо за форму — отличная :)

    Однако у меня проблема, куда без них...

    На странице у меня вместе с формой есть fancybox со своим вызовом:

    <script type="text/javascript" src="fancybox/jquery-1.9.0.min.js"></script>.

    Естественно, убрала вызов jquery для формы (более раняя версия ж) — кнопочка feeedback показывается и прячется. Если возвращаю вызов версии 1.7.1, то тогда уже fancybox не вызывает. Ситуация "или/или".

    Может, подскажите как скрпты совместить? :)

    • АлаичЪ

      У меня jQuery 1.8.3 — работает отлично. Попробуйте эту версию, вдруг и то и другое будет работать.

  99. Алексей (2 комм.)

    Подскажите какие права на файлы нужно установить, у меня все получилось, только вот не отправляется на почту форма...

    • АлаичЪ

      Стандартные подойдут — 644. Но чтобы понять наверняка, можно и 777 выставить, если и это не поможет, то дело не в правах.

      • Алексей (2 комм.)

        Не помогло :( я даже без изменений в css и js заливал — не работает :(

  100. Max (1 комм.)

    Помогите плз, я плохо в этом всем шарю... А как мне к моей странице в html это все прикрутить, чтобы из моих полей информация бралась и обрабатывалась обработчиком ?

  101. Александр (3 комм.)

    Приветствую! иногда приходят письма-пустышки. в чем может быть проблема?

  102. Красик (1 комм.)

    Спасибо автору за хорошее пояснение и скрипт.

    Установил точно как сказано в описании. Движок Danneo 055

    Строки, которые установлены в файл top.tpl:

    <link rel="stylesheet" href="http://site.ru/your/path/contactable/contactable.css" type="text/css" />
    <div id="contactable"><!-- contactable html placeholder --></div>

    Строки, которые прописаны в файл bot.tpl:

    <!--start contactable js -->
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js?ver=1.7.1"></script>
    <script type="text/javascript" src="http://site.ru/your/path/contactable/jquery.validate.min.js"></script>
    <script type="text/javascript" src="http://site.ru/your/path/contactable/jquery.contactable.js"></script>
    <script type="text/javascript">$(function(){$('#contactable').contactable();});</script>
    <!--end contactable js -->

    Это нормально для этого движка, так как в top.tpl нет тэга , этот тэг в фале bot.tpl.

    Всё остальное как в Вашем описании.

    Пишу подробно, может кому пригодится для этого движка.

    Теперь тестировании и проблемах.

    Кнопка «отправить письмо» была уже, чем текст. После правки в css текст на кнопке стал виден во всех браузерах. кроме IE. У меня стоит 9.0.8. В IE кнопка не стала шире.

    1. Опера — Отправляет письмо без ошибок. После отправления письма окно прячется вместе с закладкой. После обновления страницы закладка появляется. Ну в общем работает.

    2. IE 9. Письмо не отправляет. Выдаёт текст 'Извините, но при отправке письма произошла ошибка, попробуйте позже'

    3. Хром отправляет письмо, но выдаёт текст 'Извините, но при отправке письма произошла ошибка, попробуйте позже'

    4. Мозилла отправляет письмо, но выдаёт текст 'Извините, но при отправке письма произошла ошибка, попробуйте позже'

  103. @spr@m (6 комм.)

    Добрый вечер. Столкнулась с такой проблемой. Скрипт четко работает, в хостинг панеле в разделе почтовые логи видно, что нам отправляли письма, но писем в почтовом ящике нет /в спаме в том числе/. Тех. поддержка хостингера ответила так: "Попробуйте добавить SMTP авторизацию в скрипт отправки писем". Прошу помогите как добавить в скрипт СМТП авторизацию? Форма очеееень нравится, не хочется отказаться от нее.

    • АлаичЪ

      Скрипт не поддерживает smtp протокол отправки. И это не планируется.

      • @spr@m (6 комм.)

        Спасибо за ответ. Очень жаль( Но мне одно не понятно без этого СМТП в начале же все четко работало, почему вдруг нужен стал СМТП(((

        • АлаичЪ

          Это просто от вас хостер отмораживается, не хочет что-либо решать. Все нормальные хостинги позволяют использовать php_mail. Такая вот ситуация неприятная :(

          • @spr@m (6 комм.)

            Я продолжаю удивляться, что творится. Создала еще одну почту там же в хостингере и письма начали доходить с одним но: письма от yandex, mail доходят, а вот gmail нет. Не понимаю по какой логике мой хостингер запрещает или пускает письма(

            • АлаичЪ

              Да, очень странно. Я специально проверил сейчас форуму у себя — письма с gmail.com доходят. Видимо, действительно это причуды хостера вашего.

    • Лилия (1 комм.)

      Если просто скрипт отправки, то в директорию со скриптом отправки загружаете библиотеку smtp-func.php из статьи http://blog.cishost.ru/blog/articles/37.html

      Подключаете ее в скрипте строкой include ('smtp-func.php'); функцию mail (), меняете на smtpmail ().

  104. Андрей (2 комм.)

    В 8 и 9 explorer'e при отправке выдает ошибку отправки, но само письмо доходит на ящик, может кто знает как поправить ?

  105. Евгений (1 комм.)

    прикручиваю форму на локальный сайт на денвере, не работает, причина в денвере? слева как и тут иконка торчит, но не выдвигается

    • Андрей (2 комм.)

      jquery скорее всего не подключается...

      • АлаичЪ

        Да, из-за Денвера. Уже не раз это обсуждали. И да — это из-за того,что библиотека jquery не подключается.

  106. Михайло (6 комм.)

    Здравствуйте, установил ваш скрипт, все прекрасно работает, почта приходит. Но проблема в том, что когда имя отправителя написано на русском, на почту приходят иероглифы в поле от кого. Но если открыть e-mail, и посмотреть внутри то имя отображается кириллицей. Я так понял дело в кодировки файла jquery.contactable. Почта у меня gmail. Помогите пожалуйста исправит. Уже третий рас пишу, может ктота знает в чем дело. Извините за повтор

  107. SeRoman (2 комм.)

    Здравствуйте! Скрипт отличный, работает четко, кастомизируется удобно. Только одна проблема — я добавил поле телефона, как советовали товарищи выше, аккуратно внес все изменения — поле встало, а в письмах самого телефона нет. Имейл есть, а телефона нет (а нужен, прежде всего, телефон). Не подскажете, в каком файле и какие строки искать, чтоб починить? )

    И второй вопрос заодно — реально ли в принципе сделать, чтоб форма выезжала справа? (Я, честно говоря, без понятия, где именно "ковыряться"...)

    • SeRoman (2 комм.)

      Сорри за беспокойство, с полем телефона я сам разобрался :) А вот второй вопрос остаётся насущным...

  108. madrom007 (3 комм.)

    Приветствую уважаемый

    Поставил Вашу ворму обратной связи (За что отдельное спасибо очень гибкая штука) но вот вопрос который не могу решить...

    В письмах которые приходят — если они приходят на мыло тоесть ящик проверять через сайт например аккаунт того же mail.ru — то все нормально но когда письма принимаю в прогу сбора почты то заголовок письма идет краказябами

    http://floomby.ru/s1/DaJtW3

  109. Роман (1 комм.)

    Добрый день. Спасибо за форму. Все работет, но письма не приходят, хотя пишет, что отправлено. Если просто открыть mail.php — приходит пустое письмо.

    • АлаичЪ

      Задайте вопрос хостерам, но перед этим проверьте правильность настройки и установки. Для верности попробуйте установить на каком-нибудь другом сайте.

  110. Алексей (1 комм.)

    На картинке и увидел форму, понравилась.

    Скачал установил, страшная какая-то, надо переделывать.

    • madrom007 (3 комм.)

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

  111. Алексей (2 комм.)

    Все хорошо, а где код самой форма?

  112. Мари (3 комм.)

    Хороший скрипт, за что отдельное спасибо. Но есть нюанс: форма работает, письма отправляет — все отлично. Но вместо благодарности за отправленное письмо пишет, что произошла ошибка (стандартное сообщение "Извините, но при отправке сообщения произошла ошибка, попробуйте повторить позже."), хотя письмо отправляется и на емейл приходит. Никто не сталкивался с такой проблемой?

    • АлаичЪ

      Я не сталкивался. Но если при этом письмо действительно отправляется и доходит до адресата, то можно заменить сообщение об ошибке на сообщение об успешной отправке. Звучит как-то странно, но просто как вариант :)

      • Мари (3 комм.)

        Да, это первое, что пришло в голову) Но, к сожалению, никак не повлияло... Странно, кэш отключен, а сообщение при ошибке получается закэшировалось...

        • Дельталётчик (2 комм.)

          Мари, попробуйте путь указать в данном формате / зайдите в / jquery.contactable.js

          url: '/contactable/mail.php',

          name: 'Ваше имя',

          phone: 'Ваш номер телефона',

          message : 'Удобное для Вас время?',

          subject : '...',

          page : location.href,

          submit : 'Отправить письмо',

          recievedMsg : 'Спасибо, мы Вам позвоним!',

          notRecievedMsg : 'Извините, свет опять отключили!',

          disclaimer: 'Спасибо Вам!',

          hideOnSubmit: true

          • Мари (3 комм.)

            Спасибо за совет, есть хоть какие-то видимые изменения, пусть и не самые приятные — письма вообще перестали приходить. Теперь просто выдает ошибку и все.

            А подскажите еще, пожалуйста, в каком виде должен быть полный урл?

            Например, у меня название сайта — site.com, использую основной вид домена без www. Путь к домашнему каталогу выглядит примерно следующим образом: var/home/site.com/

            Папка со скриптом лежит в корне, то есть путь к ней такой: var/home/site.com/contactable/

            Правильно ли я указываю урл: http://site.com/contactable?

  113. Seth (5 комм.)

    Спасибо огромное за форму! У меня вопрос, который уже задавался, но остался без ответа: Как сделать так, чтобы поле "email" осталось, но было необязательным для заполнения (и красная звёздочка в конце убралась)???

  114. Дельталётчик (2 комм.)

    Решил ребус со style.css! (почти все работает как нужно, единственный момент — окно ввода данных статично, стоит на месте и не заезжает — не выезжает, а сам ярлычок feedback прячется — выезжает как и должно быть, сообщения отправляются.

    При удалении style.css форма работает как и должна, но теряется все оформление сайта.

    Решение задачи: style.css / строчка ~366 / form { padding: 0 !important; margin: 0 !important;} / Теперь будет ездить!

    мне еще шрифт не понравился при вводе данных: style.css / строчка ~1380 / input, select, (Удалить TEXTAREA)

    {

    vertical-align: middle;

    font-size: 28px;

    font-family: 'Times New Roman', Georgia, Times, Serif;

    font-weight: normal;

    font-style: normal;

    letter-spacing: 1px;

    text-shadow: 1px 0 0 rgb (23, 23, 23), 1px 0 0 rgb (23, 23, 23), 0 -1px 0 rgb (23, 23, 23), 0 1px 0 rgb (23, 23, 23), 0 0 10px rgba (0, 0, 0, 0.99);

    }

    Всё собственно...

  115. дима (1 комм.)

    привет, если делаю на локальном сервере, письмо не будет отсылаться?

  116. Роман (2 комм.)

    Поскажите плиз как мне форму вывести на передний план Это что-то с z-index нужно сделать или как-то по другому?

  117. Роман (2 комм.)

    Все разобрался только теперь письма не отправляет

  118. Витал (5 комм.)

    С IE 8 не проходит проверка полей на заполнение и можно отправлять пустые письма!!! Как быть с этим?

  119. Витал (5 комм.)

    Люди, Ie я победил следующим образом: дописал проверку кода в mail.php. В случае не заполнения полей выдается надпись «Извините, но при отправке письма произошла ошибка, попробуйте позже», но пустое письмо не отправляется!!!!

    <?php   
     
      if(trim($_POST['name']) == '') {
      $hasError = true;
      } else {
      $name = trim($_POST['name']);
      }
     
      if(trim($_POST['email']) == '') {
      $hasError = true;
      } else {
      $name = trim($_POST['email']);
      }
     
      if(trim($_POST['message']) == '') {
      $hasError = true;
      } else {
      $name = trim($_POST['message']);
      } 
     
      if(!isset($hasError)) {
     
    $name = stripcslashes($_POST['name']);
    	$emailAddr = stripcslashes($_POST['email']);
    	$comment = stripcslashes($_POST['message']);
    	$subject = stripcslashes($_POST['subject']);
            $page = stripcslashes($_POST['page']);
            $headers = "From: "$name" <$emailAddr>rn";
    	$headers .= "Content-type: text/plain; charset=UTF-8rn";
    	$contactMessage =  
    "Имя отправителя: $name <$emailAddr>
     
    $comment
     
    Письмо отправлено со страницы: $page
    IP отправителя: $_SERVER[REMOTE_ADDR]";
     
    		//send the email
    		mail('mail@sait.ru', $subject, $contactMessage, $headers);
    		echo('success');} //return success callback 
     
    ?>

    Отличная форма. Спс всем, кто принял участие в доработке и обкатке.

    • АлаичЪ

      Прекрасно! Спасибо, что поделились решением!

      • Витал (5 комм.)

        Еще надо добавить проверку корректности вводимых данных в поле email, иначе будут пролетать любые символы. В mail.php

  120. Витал (5 комм.)

    Еще момент: кнопка Feedback — как изменить ее размер?

  121. денис (1 комм.)

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

  122. Витал (2 комм.)

    И еще момент, у меня в мозиле режет нижнею часть "Если вдруг вы захотите установить такую же форму обратной связи для себя — милости прошу." Только в Мозиле, и только на моей форме. На этом сайте все норм.

  123. Миша (6 комм.)

    Привет. Форма отлично работает, только вот в IE отправляет письмо без проверки вилидации. Кстате у вас на блоге та же проблема. В коментариях к стате нашел етот сайт http://luali.ru/, здесь в IE все работает. Может дело в дополнителном поле "Телефон"? Подскажите как решить пожалуста.

  124. Юля (3 комм.)

    Здравствуйте, скрипт отличный, только письма не приходят. Все проверила все корректно. ставила на Версия DataLife Engine:9.6 с кодировкой UTF-8 в mail прописала адрес

    //send the email

    mail ('mksait@bk.ru', $subject, $contactMessage, $headers);

    echo ('success'); //return success callback

    может скрипт не на все почтовые сервера письма отправляет, хотя я ставила gmail , так же письма нет.

    в чем может быть причина?

    • АлаичЪ

      Значит где-то что-то не так. Выше несколько сотен комментариев и там не раз встречались подобные проблемы, а причины всегда разные, почитайте.

  125. Игорь (5 комм.)

    Александр приветствую, подскажи, как сделать, чтобы можно было форму просто впихнуть на какой-то странице? У меня 1 страница, для вопросов эксперта. И вот туда хочется только воткнуть, без всяких выдвижных фич. Просто заходишь и форма стоит на странице.

    Спасибо

    • АлаичЪ

      Могу сказать одно — данная форма для этого не подходит. Она рождена, чтобы выдвигаться :) Если необходимо

      встроить в страницу, то тут надо другую форму искать!

      • Миша (6 комм.)

        Привет. Форма отлично работает, только вот в IE отправляет письмо без проверки вилидации. Кстате у вас на блоге та же проблема. В коментариях к стате нашел етот сайт http://luali.ru/, здесь в IE все работает. Может дело в дополнителном поле "Телефон"? Подскажите как решить пожалуста.

  126. evlampy (2 комм.)

    Уважаемое сообщество, а как такую нужную вещь реализовать на движке CNCat: _http://www.cn-software.com/ru/cncat/ ? Может кто делал?

    • АлаичЪ

      В посте описан универсальный вариант, установится куда угодно. В чем проблема-то?

  127. Seth (2 комм.)

    Возникла следующая проблема: форма отправляет письма только со страниц, имеющих прямую ссылку в меню, а со страниц с отдельными материалами (материалами блогов и т.д.) пишет сообщение, что при отправке письма произошла ошибка и письма не идут. В чем может быть ошибка?

    • АлаичЪ

      Ошибка в настройках, может быть на тех страницах не подгружаются нудные скрипты, например. Потому что у меня на всех сайтах с любых страниц отправляет.

      • Seth (2 комм.)

        В настройках чего? Формы?

        • АлаичЪ

          Разумеется.

          • Seth (5 комм.)

            Знать бы ещё где конкретно копаться... Ладно, давайте решим вопрос за деньги. Ещё раз его озвучу: есть, например, главная страница, а в ней несколько материалов. С главной страницы письма уходят нормально, а при переходе на отдельный материал, при попытке отправить сообщение, форма выдает ошибку. Это касается не только главной страницы, но и любой другой, оформленной в виде блога или списка, т.е. получается, что дальше первого уровня постраничной навигации форма не работает. Сайт на Joomla 2.5. Пишите мне на электронную почту.

            • Seth (5 комм.)

              Указанную проблему решил написанием полного пути (до этого был относительный, без названия сайта) к файлам. Однако это привело к другой проблеме: если открыть сайт с www, то пишет сообщение об ошибке и кидает пустое письмо на ящик. Может быть можно как-то прописать пути, чтобы и с www и без них отправлял??? Кто сталкивался с такой проблемой, подскажите?

              • Seth (5 комм.)

                Всё, эту проблему тоже сам решил. Всем спасибо!!!

                • Seth (5 комм.)

                  Забыл поделиться решением: в файле шаблона пути указал относительные, а путь к mail.php прописал полный, и всё вдруг заработало!

  128. Любитель (1 комм.)

    подскажите как замедлить "заезд" формы после отправки?

  129. Антон (2 комм.)

    Подскажите как в файле jquery.contactable.js сделать так, чтобы всплывающее сообщение всплывало не сбоку а снизу формы (или сверху)?

  130. Кот (1 комм.)

    Подскажите пожалуйста, можно ли эту форму модифицировать так, что бы можно было к сообщению прикреплять файл?

  131. Игорь (2 комм.)

    Установил все как в мануале, но не реагирует вообще просьба помочь

  132. Александр (1 комм.)

    Доброе время суток , не могли бы подсказать добавил несколько фукций в форму обраной связи работает , но при отправки письма пишет что не отправлено а письмо приходит адресатам, как добавить исключение проверки части кода файла mail.php

    <?php

    $db = mysql_connect ("localhost","*******","********");

    mysql_select_db ("*********" ,$db);

    $symbol=array ('0','1','2','3','4','5','6','7','8','9','Q','w','M','r','T','s','u','I','o','P','a','s','d','F','G','h','J','k','m','n','x','C','Q','D','X','J','G','Z','A','S','V','N','Y','L','R','9',);

    $uin_id= '';for ($i=0; $i<12; $i++):

    $rand_symbol=$symbol[rand(0,45)];

    $uin_id=$uin_id.$rand_symbol;

    endfor;

    echo $uin_id;

    //$query = "INSERT INTO UIN VALUES ('".$uin_id."')";

    //echo $query;

    $result = mysql_query ($query);

    //if ($result) {echo "Даные внесены в базу данных";} else {echo "Ошибка, данные не были внесены в БД";}

    mysql_close ($link);

    //declare our assets

    $to= "Alexandr <sayaav@gmail.com>" . ", " ; //Получатели

    //$to .= "WORK <a.ababkov@acpiter.ru>";

    $name = stripcslashes ($_POST['name']);

    $phone = stripcslashes ($_POST['phone']);

    $emailAddr = stripcslashes ($_POST['email']);//e-mail отправителя

    $comment = stripcslashes ($_POST['message']);

    $subject = stripcslashes ($_POST['subject']);

    $client = stripcslashes ($_POST['client']);

    $page = stripcslashes ($_POST['page']);

    $headers = "From: \"$name\" <$emailAddr>\r\n";

    $headers .= "Content-type: text/plain; charset=UTF-8";

    $contactMessage = // сообщение администратору

    "Код Акции: $uin_id

    Имя: $name

    E-mail: $emailAddr

    Телефон: $phone

    $comment

    Письмо отправлено со страницы: $page

    IP отправителя: $_SERVER[REMOTE_ADDR]";

    $contactclient =// сообщение отправителю

    "Код Скидки: $uin_id

    Имя: $name

    E-mail: $emailAddr

    Телефон: $phone

    $comment

    ";

    //send the email

    mail ($to, $subject, $contactMessage, $headers);//администратор

    mail ($emailAddr, $client, $contactclient, $headers);//отправитель

    echo ('success'); //return success callback

    ?>

  133. TrigGer (1 комм.)

    Вставлю и свои пять копеек... Всем понравился этот скрипт, признаюсь, и мне тоже, но за одним большим "НО". некоторые хотели видеть эту форму обратной связи справа. Так, вот, поделюсь, как это сделать. Открываем для начала файл contactable.css и находим все записи с параметрами margin-left и меняем эти параметры на margin-right. Потом открываем файл jquery.contactable.js и находим все параметры с названием marginLeft и меняем все эти параметры на marginRight... и, вуаля, наша форма обратной связи выезжает с правой стороны. Неправда ли, ларчик просто открывался. Остается только по шаманить в фотошопе со вкладкой Feedback, которая рисуется в PNG формате, и поправить код файла contactable.css на пример выравнивания полей, цвета фона и т.д.

    Этот пост к тому, что автор на вопрос: "А как сделать, чтобы выезжала справа?" не отписывал: -"Колупайте сами". Я по колупал — вот и написал. Теперь эту форму обратной связи действительно можно назвать универсальной, так как раскрыт секрет, как ее можно расположить справа.

    Best regards, Alex aka TrigGer

    • white_joker (1 комм.)

      Добавлю от cебя что необходимо в файле стилей еще и поменять left на right

  134. Роман (1 комм.)

    Всё заработало на WP без использования functions.php с этим исправлением:

    <code>jQuery (document).ready (function ($) {$('#contactable').contactable ();});</code>

    Проверил на http://developers.google.com/speed/pagespeed/insights/?url=ndialog.ru: скорость загрузки уменьшилась на одну ед. Жаль... Ведь, например, при использовании более навороченного плагина usernoise pro скорость не меняется.

  135. webfun (1 комм.)

    Создам любую форму заказа с отправкой на почту за символическую цену пишите на webfun@mail.ru

  136. Юрий (1 комм.)

    Доброго времени суток!

    Поставил форму ответа, все супер...

    Но! Сайт перестал проходить валидацию на ccs.

    26 ошибок и 2 предупреждения.

    • АлаичЪ

      В этом нет ничего страшного, на продвижение или работоспособность это никак не сказывается.

      Можете поправить ошибки в скриптах, если они вас так смущают.

  137. МММ (1 комм.)

    Спасибо ВАМ за труды! Сделал все как вы сказали. звработало, но не отпраляло, присмотрелся, — нашел, -url: (был полный путь), заменил на '/contactable/mail.php', это указал в файле jquery.contactable.js. Спасибо за труды еще раз. Прикольное есть еще что-нибудь?)))

  138. Игорь (1 комм.)

    А в сайте сделанном в Artisteer 3 как прикрутить данный скрипт. Хостинг hts.ru

  139. Виктор (2 комм.)

    Сделал как написано, все работает. Спасибо! Добавил поле для ввода даты через календарь с помощью datepicker той же jquery. Календарь появляется дату вставляет в поле, но в письме дата пустая. По-видимому, значение даты не передается в PHP.

    Сделал следующее:

    В файл jquery.contactable.js в раздел //construct the form по аналогии добавил

    <p><label for="date1">'+options.date1+' <span class="red"> * </span></label><br /><input id="datepicker" type="text" class="contact" name="date1" /></p>

    естественно, описал переменную — date1: 'Дата начала'

    В файл mail.php добавил строку: $date1 = stripcslashes ($_POST['date1']);

    Буду очень признателен, если подскажете, что я делаю не так и как исправить.

    Спасибо!

    P.S. Имею небольшой опыт на html, в php очень слаб.

    • Виктор (2 комм.)

      Жаль, что никто не хочет мне помочь. Я думаю, что для специалиста это не сложно. Возможно, что на этом форуме только один специалист, которому не интересно такими вещами заниматься. Было здесь предложение сделать любую форму за символические деньги, я обратился к нему, ответа нет, его рекламу естественно удалили. Если кто-то готов мне помочь, пишите на почту, разумные деньги заплачу.

  140. Марк (1 комм.)

    У меня проблема поставил скрипты прописал пути к ним. Но почему ты не выдвигается панель сбоку? Куда рыть непредставляю

  141. Андрей (2 комм.)

    АлаичЪ спасибо за работу, все отлично фунциклирует! Но если не трудно ткни носом куда копать по поводу переноса ее на правую сторону?

    Я сам честно пытался разобраться но так и не понял!?

    • АлаичЪ

      Пожалуйста. На счет переноса на правую сторону ничего не подскажу, т.к. этим ни разу не занимался, я даже специально написал об этом в посте :)

      • Андрей (2 комм.)

        Ок и на этом спасибо! А подсказать как добавить в эту форму возможность выбора категорий (то есть не руками прописывать, а пред установленные) и чтобы в письме приходило

        Бла бла бла от Васи Пупкина

        Категория вопроса "где паяльник?"

        ну и все остальное

  142. Екатерина (1 комм.)

    Здравствуйте, дак все таки, очень многие озвучили проблему недоставки писем, у меня та же проблема, пишет "благодарю вас за письмо", но писем в ящике нет. Хостер ответил что с настройками php надо разбираться. Дайте совет какой-нибудь

  143. Денис (1 комм.)

    Форма работает! Но она изначальна уже развернута, при нажатие на кнопку "Feedback" происходит лишь её перемещение, Посмотрите, что нибудь может подскажите. Сайт сделан на cms Joomla3!

  144. Алексей (1 комм.)

    Благодарю за скрипт.

    Такой вопрос. Подскажите, а можно ли сделать, чтобы форма сама открывалась через определенный интервал времени, например через 30 секунд, после того, как пользователь находится на странице?

  145. Андрей (1 комм.)

    Доброе время суток. Подскажите пожалуйста, можно ли данную форму выводить не в выезжающем поле, а всплывающую в модальном окне в центре страницы. Если можно, то где прописать и какой код. Спасибо

    • Иван (1 комм.)

      тоже интересно. и есть ли возможность делать разные формы с разными темами?

  146. Андрей (1 комм.)

    Как обновить jquery для этой формы? Под версию jQuery v1.10.2 она не работает. Может обновить какую-то функцию?

    • АлаичЪ

      Честно говоря, не думал об этом. Форма, действительно, не работает с самой новой версией библиотеки.

      У меня нет пока решения данного вопроса.

  147. Юрий (1 комм.)

    Скажите, плиз, есть возможность установить форму заказа обратного звонка на Укоз?

  148. Кирилл (4 комм.)

    Форма работает, но письма приходят с карказяблами и на mail.ru и на яндекс. Как поправить, пожалуйста подскажите!

  149. Евгений (1 комм.)

    Прекрасный скрипт, но одно но. На gmail кряказяблики в заголовках. Сам текст нормальный. Не подскажите, как исправить?

  150. Иван (1 комм.)

    Странно. http://мой сайт/contactable/mail.php отправляет письмо, если зайти через браузер.

    Сама форма на сайте тоже работает. Но кнопка "отправить письмо" вызывает ошибку "Извините, но при отправке письма произошла ошибка, попробуйте позже" и письмо не приходит. В логах почтового сервера пусто.

    В чём может быть проблема? Спасибо.

  151. Олеся (1 комм.)

    Здравствуйте. Подскажите как в форму можно добавить телефон, чтобы пользователь мог оставить свой. Менять видимо надо файлы mail.php, jquery.contactable.js, jquery.validate.min.js. С файлом mail.php разберусь а вот с остальными, для меня это темный лес ))). Заранее спасибо

  152. ignatallex (1 комм.)

    Здравствуйте! Как добавить дополнительную кнопку в feeback? Над кнопкой отправить письмо, например, для загрузки фото. Может кто подскажет?

  153. алексей (2 комм.)

    Здравствуйте, подскажите пожалуйста форма работает письма приходят , но вот вопрос как сделать так что бы в почте когда нажимаешь ответить выскакивал почтовый ящик человека который отправил письмо а не почтовый ящик из формы mail ? как в примере ( admin@site.ru ). Может кто сталкивался с таким ?

  154. krusar (1 комм.)

    Огромное спасибо за панельку!

    Перелопатил для правой стороны. Кому интересно, папка 'contactable' вот.

    https://yadi.sk/d/x-VKRZ1-bXE62

    Способ подключения скриптов остался прежним. Картинка немного изменена.

  155. Ольга (1 комм.)

    А на DLE 10.2 можно прикрутить? Очень нужно мальчики))

  156. D-design (1 комм.)

    Панелька супер, проста и доступна,

    НО кому удалось обойти хостинг не поддерживающий php?

    рецептик плииз =))

  157. михаил (4 комм.)

    у меня джино хост, поддержка пхп отключена, файл mail.php загружен на бесплатном хостинге с поддержкой пхп (dtn.ru) при отправке сообще: "Извините, но при отправке письма произошла ошибка, попробуйте позже" — . Может чего дописать надо???

    • АлаичЪ

      Кроссдоменно не работает.

      • михаил (4 комм.)

        в файле jquery.contactable.js прописал путь к mail.php

        url: 'http://medok.dtn.ru/mail.php'.

        хотя index.html и из dtn отказывается работать...это dtn хост наверное чудит

      • михаил (4 комм.)

        пишет, что письмо отправлено, а в почте ничего нет. Может быть тогда бесплатный хостинг порекомендуете с поддержкой работающего пхп.

        • АлаичЪ

          Посоветую взять платный хостинг и не париться. Это стоит копейки, можно даже до 100р в мес найти — куда уж дешевле то?

          • михаил (4 комм.)

            ну да, тоже к такому выводу пришел. Заманивание это всё на бесплатных сайтах, а не пхп))).

  158. Александр (1 комм.)

    форма работает, но перестает работать плагин FancyBox for WordPress, подскажите как исправить?

  159. Алексей (1 комм.)

    День добрый. Буду признателен, если подскажете, как вашу форму ставить на simpla CMS. Она если и ставится, то не на все страницы, а письмо не отправляется.

  160. Виталий (3 комм.)

    Добрый день! Форма отличная! А как настроить масштабирование формы в зависимости от разрешения экрана, например на мобильных телефонах? а то форма заполняет весь экран и недоступны некоторые элементы становятся

  161. Andrej (1 комм.)

    Здравствуйте. На дле 10.4 не отображается панель. скрипт ДЛЕ чистый без сторонних модулей.

  162. Виталий (3 комм.)

    Приветствую! подскажите как и где изменить расстояние на которое выезжает кнопка Feedback? в стилях не нашел

    • АлаичЪ

      В js файле.

      • Виталий (3 комм.)

        а подскажите в какой строке смотреть? я не силен в коде. просто по отладчику выезжает на 377px у меня, а такого значения в js файле ненашел

  163. Сергей (1 комм.)

    Добрый день. Подскажите уважаемые, какую строчку в стилях изменить что бы форма (feedback) опустилась немного ниже, а то при раскрытии (у шапки) форма не видна. За ранее всем спасибо

  164. Андрей (1 комм.)

    Подключил модуль обратной связи.

    Отображется без косяков.

    Но при отправке пишет "Извините но при топравке письма произошла ошибка"

    куда копать?

    • Edward (1 комм.)

      У меня проблема была в пути к функции mail на php. Сразу не заметил, но потом разобрался и все заработало.

  165. Николай (1 комм.)

    Спасибо за информацию очень помогло. После многочисленных сайтов Ваш сайт помог с адекватной формой которая работает. Добавил в закладки.

  166. Светлана (1 комм.)

    Огромное спасибо за скрипт и за дополнение (про поле телефон).

    Все здорово! Успехов вам!

    Надеюсь, на новую полезную информацию!

  167. Роман (1 комм.)

    Подскажите как отключить проверку корректности Email?

  168. Вячеслав (1 комм.)

    Здравствуйте!

    Подскажите, пожалуйста, а как вывести обращение на ввод всех данных формы в ссылку?

    Хочу сделать чтобы посетитель нажал на ссылку и открылась форма справа.

    Спасибо!

    • АлаичЪ

      Где-то в комментах это обсуждалось, рекомендую поискать. Я знаю, что комментов выше более 400, но все же :)

  169. Павел (6 комм.)

    DLE 10.3 не заработало, всё сделал как в посте про 9-й DLE, кто-нибудь разобрался с DLE 10+? Сначала запихнул папку contactable в папку public_html и адрес указывал полный. В итоге выскакивало окошко с фидбэком и за секунду исчезало. Строчку с jquery не писал.

    • АлаичЪ

      С DLE данный скрипт вообще никак не связан. Это независимый универсальный скрипт, который можно установить на любую CMS или вообще не на CMS.

      Вполне возможно, что проблема связна с версией jQuery, но должно работать, проблем пока не встречал.

      • Павел (6 комм.)

        Спасибо за ответ. Это я понял, что он универсальный, но победить его пока не смог, поковыряюсь ещё :) Если разберусь — напишу, что было не так.

      • Павел (6 комм.)

        Отключил в DLE jquery, подключил гугловскую библиотеку. Пробовал разные версии — не получается.

        • АлаичЪ

          Стоит попробовать подключить какую-нибудь старую версию.

          Вот эту, например: <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js?ver=1.8.3'></script>

          • Павел (6 комм.)

            Попробовал — тоже самое, думаю не в версии jQuery проблема. Попробую ещё что-нибудь придумать. В любом случае спасибо за советы :)

            • Павел (6 комм.)

              Разобрался! :)

              Если положить папку contactable в папку с шаблоном и указать относительный путь "{THEME}/contactable/jquery.validate.min.js" — не подключается скрипт. Скопировал в корень(public_html) папку contactable — путь естественно указывать нужно к корневой папке: "/contactable/jquery.validate.min.js" , то всё сразу заработало. Файл mail.php в папке engine/modules. Сейчас проверю работу.

              Напомню, для тех кто будет разбираться и кому может пригодится — версия DLE 10.3

              • Павел (6 комм.)

                Пока файл mail php был в папке /engine/modules — не отправлялись письма и писало об ошибке(может .htaccess надо было как-то править, но не пробовал пока). Поместил в папку contactable файл mail.php и изменил путь — заработало и письмо приходит. Вобщем не работает по инструкции для DLE 9. У кого 10+ имейте в виду :) Александру спасибо за скрипт, буду использовать на других сайтах — лучше пока не встречал.

                • АлаичЪ

                  Спасибо за конкретику и решение проблемы! Кому-то обязательно пригодится.

  170. Elmurat (1 комм.)

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

  171. Сергей (2 комм.)

    Не понимаю, зачем нужно было прописывать в стилях margin: -390px;? Причём такой, что не изменишь в таблице стилей, как элемент где-то у себя на сервере.

    И радуются все, как будто это прописано специально для меня, и больше ни у кого нет.

  172. Сергей (2 комм.)

    Или вот это для кого:

    text-indent:-100000px;

    Это как по Вашему должно отображаться?

  173. Михаил (2 комм.)

    форма не работает, если почта идет с префиксом @mail.ru. С любым другим все отлично. В чем проблема?

  174. Михаил (2 комм.)

    Решил проблему так. Почта отправителя теперь только в теле письма.

    <?php

    //declare our assets

    $name = stripcslashes ($_POST['name']);

    $emailAddr = stripcslashes ($_POST['email']);

    $comment = stripcslashes ($_POST['message']);

    $subject = stripcslashes ($_POST['subject']);

    $page = stripcslashes ($_POST['page']);

    $headers = "From: \"$name\" \r\n";

    $headers .= "Content-type: text/plain; charset=UTF-8\r\n";

    $contactMessage =

    "Имя отправителя: $name

    Почта: $emailAddr;

    Телефон: $comment

    Письмо отправлено со страницы: $page

    IP отправителя: $_SERVER [REMOTE_ADDR]";

    //send the email

    mail ("почта@mail.ru" , $subject, $contactMessage, $headers);

    echo ('success'); //return success callback

    ?>

  175. zatv (1 комм.)

    Скажите, пожалуйста, кто-нибудь устанавливал эту форму обратной связи на Престашоп 1.7.1? Как это можно сделать?

  176. John Z. (2 комм.)

    Вопрос СПЕЦАМ по скриптам!

    Можно ли вызвать этот скрипт обратной формы из HTML страницы не по клику на FeedBack а скажем

    по тегу типа <input type="button" value="Обратная связь " onclick="displaymessage ()" ............

    а еще лучше по клику на <a href="#" id="////// blabla">

    в общем, КАК в скрипт передать событие, чтобы форма открылась ???

    • John Z. (2 комм.)

      всё,

      разобрался сам

      <a onclick="$('#contactable_inner').click (); return false;"> бла блаюю </a>

      RTFM — как говорится :)

  177. Илья (1 комм.)

    Здравствуйте.

    Подскажите как убрать поле для комментариев (форма супер! работает отлично. Инструкция по установке очень понятная. Большое спасибо за данный скрипт!).

Оставь комментарий, Бро!

· Малоинформативные комментарии или комментарии, не содержащие вопрос, удаляются.
· В поле URL оставляйте ссылку только на свой сайт/блог. Эта ссылка для админа, посетители ее не увидят.
· Любой html-код отображается в виде текста, любые ссылки неактивны.
· Для спаммеров - БЛОГ НЕ DOFOLLOW!!!