компонент формы обратной связи com_b3v_feedback

Тема в разделе "Формы", создана пользователем buro3v.ru, 08.05.2008.

  1. Offline

    dimsa Недавно здесь

    Регистрация:
    10.11.2008
    Сообщения:
    7
    Симпатии:
    0
    Пол:
    Мужской
    К вопросу о проверке полей формы...:
    Так как в компоненте она не предусмотрена. то можно предложить промежуточное решение (пока), может авторы доработают сам компонент...

    1.
    Код (CODE):
    1. <script src="validate.js"></script> <!-- Подключить модуль проверки -->
    2. <style type="text/css">
    3. /*
    4. Validate.js требует, чтобы были определены стили класса "invalid"
    5. для отображения полей с некорректными данными, давая тем самым
    6. пользователю отличать их визуально.
    7. Для полей с корректными данными можно также определить необязательные стили.
    8. */
    9. input.invalid { background: #faa } /* Красноватый фон для полей с ошибками */
    10. input.valid { background: #afa } /* Зеленовытый фон для полей, заполненных правильно */
    11. </style>
    12. <!--
    13. Теперь, чтобы включить проверку полей формы, нужно просто
    14. установить атрибут required или pattern.
    15. -->
    16. <form>
    17. <!-- Это поле должно быть заполнено -->
    18. Имя: <input type="text" name="name" required /><br/>
    19. <!--
    20. \s* - означает необязательный пробел
    21. \w+ - один или более алфавитно-цифровых символов
    22. -->
    23. Электронная почта: <input type="text" name="email" pattern="^\s*\w+@\w+\.\w+\s*" /><br/>
    24. <!-- \d{6} означает, что должно быть введено ровно шесть цифр -->
    25. Почтовый индекс: <input type="text" name="zip" pattern="^\s*\d{6}\s*" /><br/>
    26. <!-- Следующее поле не проверяется -->
    27. Непроверяемое поле: <input type="text" /><br/>
    28. <input type="submit" value="Отправить" />
    29. </form>


    2.
    Код (CODE):
    1. /**
    2. validate.js: ненавязчивая проверка HTML-форм.
    3.  
    4. После загрузки документа данный скрипт сканирует документ в поисках
    5. HTML-форм и текстовых полей в формах. Если обнаруживаются элементы
    6. с атрибутами "required" или "pattern", к ним добавляются соответствующие
    7. обработчики событий, выполняющие проверку данных формы.
    8.  
    9. Если атрибут формы имеет атрибут "pattern", значение этого атрибута
    10. используется регулярное JavaScript-выражение, а элементу назначается
    11. обработчик события onchange, который проверяет ввод пользователя с помощью
    12. этого шаблона. Если данные не соответствуют шаблону, цвет фона элемента
    13. ввода изменяется, чтобы привлечь внимание пользователя.
    14.  
    15. По умолчанию текстовое поле должно содержать некоторую подстроку, которая
    16. соответствует шаблону. Если требуется указать более строгое соответствие,
    17. используйте якорные элементы ^ и $ в начале и конце шаблона.
    18.  
    19. Элемент формы с атрибутом "required" должен содержать какое-либо значение.
    20. Если быть более точным, атрибут "reqiured" является краткой формой атрибута
    21. pattern="\S". То есть этот атрибут требует, чтобы поле содержало хотя бы
    22. один символ, отличный от пробела.
    23.  
    24. Если элемент формы прошел проверку, в атрибут "class" этого элемента
    25. записывается значение "valid". В противном случае - значение "invalid".
    26. Для коррекной работы validate.js необходимо вместе с ним использовать
    27. таблицу CSS-стилей, где определяются стили для "неправильного" класса.
    28. Например
    29.  
    30. <!-- Для привлечения внимания окрасить фон элементов формы,
    31.      содержащих ошибки, в оранжевый цвет -->
    32. <style type="text/css">input.invalid {background: #fa0; }</style>
    33.  
    34. Перед отправкой формы текстовые поля, требующие проверки, подвергаются
    35. повторной верификации. Если обнаруживаются ошибки, отправка формы
    36. блокируется и выводится диалоговое окно, в котором пользователю сообщается
    37. о том, что форма заполнена не полностью или содержит ошибки.
    38.  
    39. Этот код не может использоваться для проверки форм или полей, в которых
    40. вы определили собственный обработчик событий onchange или onsubmit,
    41. а также полей, для которых вы определили свое значение атрибута class.
    42.  
    43. Весь программный код размещается внутри анонимной функции
    44. и не определяет ни одного имени в глобальном пространстве имен.
    45. **/
    46.  
    47. (function() { // Все, что требуется, выполняется внутри анонимной функции
    48.     // По окончании загрузки документа вызвать функцию init()
    49.     if (window.addEventListener)
    50.         window.addEventListener("load", init, false);
    51.     else if (window.attachEvent)
    52.         window.attachEvent("onload", init);
    53.  
    54.     // Устанавливает обработчики событий для форм и элементов форм,
    55.     // где это необходимо
    56.     function init() {
    57.         // Цикл по всем формам в документе
    58.         for(var i = 0; i < document.forms.length; i++) {
    59.             var f = document.forms[i];  // текущая форма
    60.  
    61.             // Предположить, что форма не требует проверки
    62.             var needsValidation = false;
    63.  
    64.             // Цикл по всем элементам текущей формы
    65.             for(j = 0; j < f.elements.length; j++) {
    66.                 var e = f.elements[j];  // текущий элемент
    67.  
    68.                 // Интерес представляют только поля <input type="text">
    69.                 if (e.type != "text") continue;
    70.  
    71.                 // Проверить, имеются ли атрибуты, требующие проверки
    72.                 var pattern = e.getAttribute("pattern");
    73.                 // Можно было бы использовать e.hasAttribute()
    74.                 // но MS IE не поддерживает его
    75.                 var required = e.getAttribute("required") != null;
    76.  
    77.                 // Атрибут required - это лишь краткая форма записи
    78.                 // атрибута pattern
    79.                 if (required && !pattern) {
    80.                     pattern = "\\S";
    81.                     e.setAttribute("pattern", pattern);
    82.                 }
    83.  
    84.                 // Если элемент требует проверки,
    85.                 if (pattern) {
    86.                     // проверять при каждом изменении содержимого элемента
    87.                     e.onchange = validateOnChange;
    88.                     // Запомнить, чтобы потом добавить обработчик onsubmit
    89.                     needsValidation = true;
    90.                 }
    91.             }
    92.  
    93.             // Если хотя бы один элемент формы требует проверки,
    94.             // то необходимо установить обработчик события onsubmit формы
    95.             if (needsValidation) f.onsubmit = validateOnSubmit;
    96.         }
    97.     }
    98.          
    99.     // Эта функция - обработчик события onchange для текстового поля, которое
    100.     // требует проверки. Не забывайте, что в функции init() мы преобразовали
    101.     // атрибут required в pattern
    102.     function validateOnChange() {
    103.         var textfield = this;                            // текстовое поле
    104.         var pattern = textfield.getAttribute("pattern"); // шаблон
    105.         var value = this.value;                          // данные, введенные пользователем
    106.  
    107.         // Если значение не соответствует шаблону, установить
    108.         // значение атрибута сдфыы равным "invalid"
    109.         if (value.search(pattern) == -1) textfield.className = "invalid";
    110.         else textfield.className = "valid";
    111.     }
    112.  
    113.     // Эта функция - обработчик события onsubmit для любой формы,
    114.     // требующей проверки
    115.     function validateOnSubmit() {
    116.         // Перед отправкой формы выполнить проверку всех полей в форме
    117.         // и установить их свойства className в соответствующее значение.
    118.         // Если хотя бы одно из этих полей содержит ошибку, вывести диалоговое
    119.         // окно и заблокировать отправку данных формы.
    120.         var invalid = false;  // Предполагаем, что все правильно
    121.         // Цикл по всем элементам формы
    122.         for(var i = 0; i < this.elements.length; i++) {
    123.             var e = this.elements[i];
    124.             // Если элемент - это текстовое поле, для которого установлен
    125.             // наш обработчик события onchange
    126.             if (e.type == "text" && e.onchange == validateOnChange) {
    127.                 e.onchange(); // Вызвать обработчик для повторной проверки
    128.                 // Если проверка не пройдена - значит вся форма не прошла проверку
    129.                 if (e.className == "invalid") invalid = true;
    130.             }
    131.         }
    132.  
    133.         // Если форма не прошла проверку, вывести диалоговое окно
    134.         // и заблокировать отправку формы
    135.         if (invalid) {
    136.             alert("Форма заполнена не полностью или были введены некорректные данные.\n" +
    137.                   "Пожалуйста, проверьте правильность выделенных полей и повторите попытку.");
    138.             return false;
    139.         }
    140.     }
    141. })();


    Добавлено через 2 часа 15 минут
    Заметил еще 1 баг при работе!
    Если в поле сообщения т.е. <textarea></textarea> ввести URL любого ресурса, то компонент рушит сайт и выдает белую страницу...
     
    Последнее редактирование: 10.12.2008
  2. Offline

    stavr Недавно здесь

    Регистрация:
    07.06.2008
    Сообщения:
    3
    Симпатии:
    0
    Спасибо тебе огромное!!! [!]
     
  3. Offline

    Dreamer86 Недавно здесь

    Регистрация:
    09.09.2006
    Сообщения:
    2
    Симпатии:
    0
    Здравствуйте,
    Использую модуль mod_b3v_feedback и библиотеку JQuery с плагинов form.plugin для отправки данных без перегрузки страницы. Такая проблема: на сабмит формы данные отправляются в кодировке UTF-8
    Код (CODE):
    1. POST http://site.ua/index.php?option=com_b3v_feedback&task=send&id=2&Itemid=1
    2. Post
    3. email1 
    4. field4  фыв+фывфыв

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

    Подскажите пожалуйста как это исправить.
     
  4. Offline

    dimsa Недавно здесь

    Регистрация:
    10.11.2008
    Сообщения:
    7
    Симпатии:
    0
    Пол:
    Мужской
    Заметил еще одну недоработку: данный компонент ориентирован в основном на использование функции phpMail()! Если на сервере использование запрещено, то работать скорее всего не будет.

    Есть ли возможность сделать чтобы отсылалось через другие почтовые протоколы? smtp sendmail
     
  5. Offline

    Helgi Недавно здесь

    Регистрация:
    25.01.2009
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Мужской
    Здравствуйте!
    Помогите пожалуйста справиться с проблемой: установил у себя на сайте компонент регистрационных форм buro 3v feedback, нужно чтоб заполненная регистрационная форма отправлялась на определенный адрес (на mail.ru). После заполнения формы и нажатия кнопки ОТПРАВИТЬ выдается сообщение: Ошибка!!! Ваше сообщение не отправлено.
    Не пойму в чем дело...

    Из контактов сообщения отправляются.
    У меня joomla 1.0.15
    Сайт http://oriflame-nn.xan.su

    Буду премного благодарен.
     
  6. Offline

    Padonokx Недавно здесь

    Регистрация:
    11.02.2009
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    помогите: компонент устанавливается, но когда я в админке на него нажимаю, то получаю :
    Fatal error: require_once() [function.require]: Failed opening required '' (include_path='.;/usr/local/php5/PEAR') in Z:\home\localhost\www\project\administrator\components\com_b3v_feedback\admin.b3v_feedback.php on line 16
    я полнейший лузер. очень нуждаюсь в помощи.
     
    Последнее редактирование: 11.02.2009
  7. Offline

    refoxter Недавно здесь

    Регистрация:
    29.09.2007
    Сообщения:
    124
    Симпатии:
    1
    Пол:
    Женский
    Мне компонент понравился, спасибо создателю. Просто и душевно.
    Есть только важный вопрос, как разные формы отправлять на разные e-mail? Как можно реализовать не через копию компонента, а привязав к каждой форме основного компонента свой e-mail?
     
  8. borodyder
    Offline

    borodyder Недавно здесь

    Регистрация:
    25.01.2009
    Сообщения:
    119
    Симпатии:
    4
    Пол:
    Мужской
    у меня джумла 1,5 стоит
    пытался установить этот компонент, сперва там че то с legacy проблема была, включил я этот плагин, установилось удачно, но когда нажимал компоненты - бюро 3 фидбэк - формы или компоненты выдавалось сообщение
    Код (html):
    1. Fatal error: require_once(): Failed opening required '' (include_path='.:/hsphere/shared/apache/libexec/php5ext/php/') in /hsphere/local/home/h2tamil/tamilan-s.ru/administrator/components/com_b3v_feedback/admin.b3v_feedback.php on line 16


    я так понимаю там че то в 16-ой строчке. я посмотрел этот файл - ну и че?
    в чем прикол?
     
    Последнее редактирование: 24.02.2009
  9. borodyder
    Offline

    borodyder Недавно здесь

    Регистрация:
    25.01.2009
    Сообщения:
    119
    Симпатии:
    4
    Пол:
    Мужской
    а ну я тут даже только что внимание обратил - тут еще один человек столкнулся с такой же проблемой - так что это уже не единичный случай
     
  10. Offline

    chars Недавно здесь

    Регистрация:
    28.03.2007
    Сообщения:
    3
    Симпатии:
    0
    Подскажите пожалуйста как осуществить показ формы обратной связи в зависисмости от выбранного в Jfish языка
    при установке там вроде даже папочки есть английский и русский

    SEO Joomla 1.0.15
    JoomFish 1.8.0
    com_b3v_feedback(rel).zip сегодня скачал из этой ветки

    и еще не очень понятно где там галочка для включения капчи в настройках компонента нет (или я не нашел)
     
  11. Offline

    chars Недавно здесь

    Регистрация:
    28.03.2007
    Сообщения:
    3
    Симпатии:
    0
    Re: Ответ: компонент формы обратной связи com_b3v_feedback

    1 а как сделать вывод формы в зависимости от языка Joom!fish
    2 у меня например ссылка из меню идет на конкретную форму по ид, а при переключении языка отображается меню с выбором формы и единственное что отображается по английски - Available forms:
     
  12. Offline

    roadinfo Недавно здесь

    Регистрация:
    09.03.2009
    Сообщения:
    2
    Симпатии:
    0
    После отправки заполненой формы, приходят 2 одинаковых письма, как сделать. где подправить, чтобы приходило только одно. Зарание спасибо
     
  13. Offline

    svetlanazn Недавно здесь

    Регистрация:
    14.03.2009
    Сообщения:
    2
    Симпатии:
    0
    Читала, что выложили релиз для Joomla 1.5x. Но что-то на сайте разработчика его не увидела:'(
    Подскажите, где взять это чудо?
     
  14. Offline

    roadinfo Недавно здесь

    Регистрация:
    09.03.2009
    Сообщения:
    2
    Симпатии:
    0
    где данную новость то выложили если не секрет
     
  15. Offline

    svetlanazn Недавно здесь

    Регистрация:
    14.03.2009
    Сообщения:
    2
    Симпатии:
    0
    Читай сообщение № 54 этой темы:)
     
  16. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    Ребята. Второй уже. 500, белый лист и все такое - это не проблемы компонента. Читайте логи, а дальше уже по течению.
     
  17. Offline

    synchr0 Недавно здесь

    Регистрация:
    17.03.2009
    Сообщения:
    1
    Симпатии:
    0
    не заходит даже в админку компонента!

    все привет!
    вот мне не удается попасть даже в админку компонента после его установки.
    выдает следующее:

    Fatal error: require_once() [function.require]: Failed opening required '' (include_path='.:/usr/share/php:/usr/share/pear') in /home/www2/users/z105319/multifinance.ru/administrator/components/com_b3v_feedback/admin.b3v_feedback.php on line 16

    Ни у кого такого не было?
    Так как в программировании знания мои близки к нулю - совсем не пойму, что бы это могло значить? в чем косяк? в компоненте или у меня?
    спасибо!
     
  18. Offline

    Wilhelm Недавно здесь

    Регистрация:
    11.07.2008
    Сообщения:
    13
    Симпатии:
    0
    Пол:
    Мужской
    Re: не заходит даже в админку компонента!

    Такая же проблемма, в этой ветке уже не раз люди жаловались на данный баг, но к сожалению полный игнир проблеммы, подскажите пожалуста как с этим бороться.
     
  19. Offline

    _voland_ специалист

    Регистрация:
    12.04.2008
    Сообщения:
    2 173
    Симпатии:
    102
    Пол:
    Мужской
    Re: не заходит даже в админку компонента!

    А что там в строке 16 в файлике то?
     
  20. Offline

    Wilhelm Недавно здесь

    Регистрация:
    11.07.2008
    Сообщения:
    13
    Симпатии:
    0
    Пол:
    Мужской
    Re: не заходит даже в админку компонента!

    Вот тут человек рецепт предлогает http://joomlaforum.ru/index.php?topic=41396.30 , он предлогает удалить В файле /home2/irbism/public_html/components/com_b3v_feedback/b3v_feedback.php удали 22 строку, но прикол в том что у меня на месте 22-ой строки пропуск строки что удалять ума не приложу
     

Поделиться этой страницей

Загрузка...