Универсальный скрипт формы обратной связи для сайта на 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
  • Эта форма не работает на локальном сервере, только на сайтах в сети.
  • Пока все, но я буду добавлять сюда интересные вопросы из ваших комментариев, чтобы другие их больше не задавали ;)

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

Александр «АлаичЪ» Алаев
Александр «АлаичЪ» Алаев

Вот уже 18 лет я профессионально занимаюсь созданием и продвижением сайтов и 13 лет с удовольствием пишу в любимый блог. Создал заслужившие доверие в seo-сообществе программы FastTrust и ComparseR и известный сервис для проверки траста сайтов CheckTrust.ru.

В 2014 основал веб-студию «АлаичЪ и Ко» в Краснодаре: 1 место в рейтинге агентств интернет-маркетинга (Рейтинг Рунета), 2 место в рейтинге SEO-компаний (CMSmagazine), 12 место в рейтинге известность бренда SEO-компаний в России (SeoNews).

Выступаю на профильных конференциях (All In Top, SEO Conference, SEMPRO, Baltic Digital Days). Веду канал в telegram про seo и бизнес. SEO-специалист года 2019 и 2020 (Sape).

Ерунда и баянЪ!Зачет! Плюсую!
+39

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

30 000 руб.

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

45 000 руб.

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

5 000 руб./час

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

70 000 руб.

Я начал запись своего обучающего курса по seo-продвижению.

В каждом видео я разбираю какую-то одну важную тему, и делаю это последовательно, в порядке, подходящем для изучения с нуля. Видео выкладываются раз в неделю – по средам. Я думаю, весь курс будет состоять из 50-70 роликов, так до конца еще далеко, а значит самое время подписаться и начать изучение вместе со мной.

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

Комментарии: 440 Написать комментарий
  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 отказывается, все выезжает нормально, но страница сдвигается, отображается форма не полность и т.д.

    Но если открыть вашу страницу https://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!!! А я, как обезьяна, два дня в коде ковырялась!!! Хорошо — додумалась у них спросить в чем дело, а то бы с ума сошла. Вот, иногда полезно совсем с другой стороны посмотреть на проблему. План сменили, завтра попробую поставить. Еще раз Спасибо!

        Ответить
        • АлаичЪ

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

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

          Ответить
          • marina (6 комм.)

            Ура!!! Все, как Доктор прописал!!! Он же — Александр Алаев!!! :)

            Ответить
  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.

    Ответить
    • АлаичЪ

      Чуть выше в комментариях описывали последовательность действий для DLE — #comment-8436.

      Ответить
  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-код самой формы.

      Ответить
      • азат (12 комм.)

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

        Ответить
  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>');
    Ответить
    • Владимир (3 комм.)

      Можно. Но на почту "телефон" не придет ;)

      Ответить
      • Алекс (1 комм.)

        А что сделать что бы телефон приходил?

        Ответить
  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 форма), как можно исправить?

    Ответить
    • Алексей (3 комм.)

      Все, спасибо, разобрался — стили не подключались :)

      Ответить
  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 — это очень мало и конечно никаких секретов по их установке не было, просто у людей есть такие "закладочки" уже. Где берут не знаю.

      Ответить
      • АлаичЪ

        Установите себе скрипт от Димы Димокса — http://share42.com/ru

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

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

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

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

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

      #contactable #contactable_inner {

      background-image:url (feedback.png);

      ...

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

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

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

      Ответить
      • АлаичЪ

        Вот вариант для вызова формы по клику на ссылку — https://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>

          Что не так?

          Ответить
          • АлаичЪ

            Вот так надо делать:

            <code><a onclick="$('#contactable_inner').click (); return false;" href="">формой обратной связи</a></code>

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

              Большое спасибо!

              Ответить
  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 комм.)

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

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

              Дошло. Сорри, я не знаю :(

              Ответить
  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 почему-то кнопка прячется за флешем... подскажите, пожалуйста, как исправить ситуацию? Заранее спасибо!

    Ответить
    • АлаичЪ

      Прочитайте это дело — http://habrahabr.ru/post/50334/

      Ответить
  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, но работает когда в коде вставлена почта созданная прямо в хостингере. Может это пручиды моего хостинга, не знаю.

        Ответить
        • Александр (3 комм.)

          Это причуды хостинга)))

          Ответить
          • @spr@m (6 комм.)

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

            Ответить
  96. Алексей (5 комм.)

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

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

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

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

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

    Ответить
    • АлаичЪ

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

      Ответить
      • Алексей (5 комм.)

        д-порт.рф

        Ответить
        • АлаичЪ

          Пропиши в css подный путь до изображения, начиная с http:// или поставь слеш, пред относительным путем /assets/ ...

          Ответить
          • Алексей (5 комм.)

            Спасибо огромное. помогло!))))

            Ответить
          • Алексей (5 комм.)

            А цвет формы как поменять?

            Ответить
            • АлаичЪ

              В css — а как же иначе! Но это ты уже сам...

              Ответить
              • Алексей (5 комм.)

                Пасиб, разобрался)))

                Ответить
  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 комм.)

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

    Ответить
    • АлаичЪ

      Наверное кто-то отправляет эти пустые письма =)

      Ответить
      • Александр (3 комм.)

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

        Ответить
      • Александр (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. Помогите пожалуйста исправит. Уже третий рас пишу, может ктота знает в чем дело. Извините за повтор

    Ответить
    • АлаичЪ

      У меня такая же беда, так и не понял, как ее победить :(

      Ответить
      • Михайло (6 комм.)

        Может дело в gmail? Пробовали с другими mail-клиентами?

        Ответить
        • АлаичЪ

          Дело не в gmail, проблема наблюдается везде...

          Ответить
  107. SeRoman (2 комм.)

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

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

    Ответить
    • SeRoman (2 комм.)

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

      Ответить
  108. madrom007 (3 комм.)

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

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

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

    http://floomby.ru/s1/DaJtW3

    Ответить
    • madrom007 (3 комм.)

      вижу что вопрос уже ставился... может удалось решить?

      Ответить
      • АлаичЪ

        Нет, решить не удалось, увы :(

        Ответить
  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 комм.)

    Все разобрался только теперь письма не отправляет

    Ответить
    • АлаичЪ

      Ну, от css-стилей способность формы отправлять письма не зависит...

      Ответить
  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 — как изменить ее размер?

    Ответить
    • АлаичЪ

      Фотошоп в руки — иначе никак :)

      Ответить
      • Витал (5 комм.)

        Фотошоп — это понятно, но какой параметр отвечает за размер отображения на странице?

        Ответить
        • АлаичЪ

          Все понятно :) Вот в css смотри стиль #contactable #contactable_inner

          Ответить
  121. денис (1 комм.)

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

    Ответить
  122. Витал (2 комм.)

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

    Ответить
    • АлаичЪ

      Смотри css, все правится только там.

      Ответить
  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 сделать так, чтобы всплывающее сообщение всплывало не сбоку а снизу формы (или сверху)?

    Ответить
    • Антон (2 комм.)

      или поверх всех окон

      Ответить
  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 комм.)

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

    Подскажите как убрать поле для комментариев (форма супер! работает отлично. Инструкция по установке очень понятная. Большое спасибо за данный скрипт!).

    Ответить
  178. Павел (1 комм.)

    Скажите, какая версия php оптимальна для скрипта?

    Ответить
    • АлаичЪ

      Любая. Тут скорее вопрос должен был звучать в адрес версии jQuery. Но и тут тоже должно на любых работать.

      Ответить
  179. Максим (1 комм.)

    Универсальный код скрипта это конечно отлично, но далеко не у всех хватает знаний даже готовый установить и использовать. У меня многие знакомые что сайты, что формы на разных конструкторах создают, например, на uCalc, всякие формочки заказов и оплат. Сам предпочитаю WordPress, поэтому там выбор плагинов большой, хотя тот же ContactForm7 вполне справляется с формами.

    Ответить
  180. Дмитрий (1 комм.)

    Добрый день, использую формы от Формдизайнер, быстро и удобно всё настраивается. Также есть плагин для WP, защита формы по куки и ip, капча. Легко добавлять на свой сайт, особо знаний не требуется

    Ответить
  181. Кирилл (1 комм.)

    У меня видимо кривые руки, никак формы делать не научусь))) Всегда плагины да сервисы разные использую. Хотя возможно, оно и лучше для тех, кто программировать не умеет. Сейчас формы через stepFORM стал делать, намного легче как мне кажется.

    Ответить
  182. Tahik (1 комм.)

    Добрый день.

    Я так понимаю, что эти конструкции отвечают за то, что используется добавление данных в div id="contactable":

    в index.php

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

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

    в jquery.contactable.js

    var this_id_prefix = '#'+this.id+' ';

    -------

    но если заменить id на class во всех элементах все перестает работать:

    <div class="contactable"></div>

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

    var this_id_prefix = '.'+this.id+' ';

    -------

    можете подсказать как надо изменить, что-бы использовать не id, а class и все заработало.

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

    Ответить