К вопросу о проверке полей формы...: Так как в компоненте она не предусмотрена. то можно предложить промежуточное решение (пока), может авторы доработают сам компонент... 1. Код (CODE): <script src="validate.js"></script> <!-- Подключить модуль проверки --> <style type="text/css"> /* Validate.js требует, чтобы были определены стили класса "invalid" для отображения полей с некорректными данными, давая тем самым пользователю отличать их визуально. Для полей с корректными данными можно также определить необязательные стили. */ input.invalid { background: #faa } /* Красноватый фон для полей с ошибками */ input.valid { background: #afa } /* Зеленовытый фон для полей, заполненных правильно */ </style> <!-- Теперь, чтобы включить проверку полей формы, нужно просто установить атрибут required или pattern. --> <form> <!-- Это поле должно быть заполнено --> Имя: <input type="text" name="name" required /><br/> <!-- \s* - означает необязательный пробел \w+ - один или более алфавитно-цифровых символов --> Электронная почта: <input type="text" name="email" pattern="^\s*\w+@\w+\.\w+\s*" /><br/> <!-- \d{6} означает, что должно быть введено ровно шесть цифр --> Почтовый индекс: <input type="text" name="zip" pattern="^\s*\d{6}\s*" /><br/> <!-- Следующее поле не проверяется --> Непроверяемое поле: <input type="text" /><br/> <input type="submit" value="Отправить" /> </form> 2. Код (CODE): /** validate.js: ненавязчивая проверка HTML-форм. После загрузки документа данный скрипт сканирует документ в поисках HTML-форм и текстовых полей в формах. Если обнаруживаются элементы с атрибутами "required" или "pattern", к ним добавляются соответствующие обработчики событий, выполняющие проверку данных формы. Если атрибут формы имеет атрибут "pattern", значение этого атрибута используется регулярное JavaScript-выражение, а элементу назначается обработчик события onchange, который проверяет ввод пользователя с помощью этого шаблона. Если данные не соответствуют шаблону, цвет фона элемента ввода изменяется, чтобы привлечь внимание пользователя. По умолчанию текстовое поле должно содержать некоторую подстроку, которая соответствует шаблону. Если требуется указать более строгое соответствие, используйте якорные элементы ^ и $ в начале и конце шаблона. Элемент формы с атрибутом "required" должен содержать какое-либо значение. Если быть более точным, атрибут "reqiured" является краткой формой атрибута pattern="\S". То есть этот атрибут требует, чтобы поле содержало хотя бы один символ, отличный от пробела. Если элемент формы прошел проверку, в атрибут "class" этого элемента записывается значение "valid". В противном случае - значение "invalid". Для коррекной работы validate.js необходимо вместе с ним использовать таблицу CSS-стилей, где определяются стили для "неправильного" класса. Например <!-- Для привлечения внимания окрасить фон элементов формы, содержащих ошибки, в оранжевый цвет --> <style type="text/css">input.invalid {background: #fa0; }</style> Перед отправкой формы текстовые поля, требующие проверки, подвергаются повторной верификации. Если обнаруживаются ошибки, отправка формы блокируется и выводится диалоговое окно, в котором пользователю сообщается о том, что форма заполнена не полностью или содержит ошибки. Этот код не может использоваться для проверки форм или полей, в которых вы определили собственный обработчик событий onchange или onsubmit, а также полей, для которых вы определили свое значение атрибута class. Весь программный код размещается внутри анонимной функции и не определяет ни одного имени в глобальном пространстве имен. **/ (function() { // Все, что требуется, выполняется внутри анонимной функции // По окончании загрузки документа вызвать функцию init() if (window.addEventListener) window.addEventListener("load", init, false); else if (window.attachEvent) window.attachEvent("onload", init); // Устанавливает обработчики событий для форм и элементов форм, // где это необходимо function init() { // Цикл по всем формам в документе for(var i = 0; i < document.forms.length; i++) { var f = document.forms[i]; // текущая форма // Предположить, что форма не требует проверки var needsValidation = false; // Цикл по всем элементам текущей формы for(j = 0; j < f.elements.length; j++) { var e = f.elements[j]; // текущий элемент // Интерес представляют только поля <input type="text"> if (e.type != "text") continue; // Проверить, имеются ли атрибуты, требующие проверки var pattern = e.getAttribute("pattern"); // Можно было бы использовать e.hasAttribute() // но MS IE не поддерживает его var required = e.getAttribute("required") != null; // Атрибут required - это лишь краткая форма записи // атрибута pattern if (required && !pattern) { pattern = "\\S"; e.setAttribute("pattern", pattern); } // Если элемент требует проверки, if (pattern) { // проверять при каждом изменении содержимого элемента e.onchange = validateOnChange; // Запомнить, чтобы потом добавить обработчик onsubmit needsValidation = true; } } // Если хотя бы один элемент формы требует проверки, // то необходимо установить обработчик события onsubmit формы if (needsValidation) f.onsubmit = validateOnSubmit; } } // Эта функция - обработчик события onchange для текстового поля, которое // требует проверки. Не забывайте, что в функции init() мы преобразовали // атрибут required в pattern function validateOnChange() { var textfield = this; // текстовое поле var pattern = textfield.getAttribute("pattern"); // шаблон var value = this.value; // данные, введенные пользователем // Если значение не соответствует шаблону, установить // значение атрибута сдфыы равным "invalid" if (value.search(pattern) == -1) textfield.className = "invalid"; else textfield.className = "valid"; } // Эта функция - обработчик события onsubmit для любой формы, // требующей проверки function validateOnSubmit() { // Перед отправкой формы выполнить проверку всех полей в форме // и установить их свойства className в соответствующее значение. // Если хотя бы одно из этих полей содержит ошибку, вывести диалоговое // окно и заблокировать отправку данных формы. var invalid = false; // Предполагаем, что все правильно // Цикл по всем элементам формы for(var i = 0; i < this.elements.length; i++) { var e = this.elements[i]; // Если элемент - это текстовое поле, для которого установлен // наш обработчик события onchange if (e.type == "text" && e.onchange == validateOnChange) { e.onchange(); // Вызвать обработчик для повторной проверки // Если проверка не пройдена - значит вся форма не прошла проверку if (e.className == "invalid") invalid = true; } } // Если форма не прошла проверку, вывести диалоговое окно // и заблокировать отправку формы if (invalid) { alert("Форма заполнена не полностью или были введены некорректные данные.\n" + "Пожалуйста, проверьте правильность выделенных полей и повторите попытку."); return false; } } })(); Добавлено через 2 часа 15 минут Заметил еще 1 баг при работе! Если в поле сообщения т.е. <textarea></textarea> ввести URL любого ресурса, то компонент рушит сайт и выдает белую страницу...
Здравствуйте, Использую модуль mod_b3v_feedback и библиотеку JQuery с плагинов form.plugin для отправки данных без перегрузки страницы. Такая проблема: на сабмит формы данные отправляются в кодировке UTF-8 Код (CODE): POST http://site.ua/index.php?option=com_b3v_feedback&task=send&id=2&Itemid=1 Post email1 field4 ÑÑв+ÑÑвÑÑв и в письме ничего не приходит вместо введеной инфы пустое место, только подписи к полям которые прописаны в темплейте письма. Подскажите пожалуйста как это исправить.
Заметил еще одну недоработку: данный компонент ориентирован в основном на использование функции phpMail()! Если на сервере использование запрещено, то работать скорее всего не будет. Есть ли возможность сделать чтобы отсылалось через другие почтовые протоколы? smtp sendmail
Здравствуйте! Помогите пожалуйста справиться с проблемой: установил у себя на сайте компонент регистрационных форм buro 3v feedback, нужно чтоб заполненная регистрационная форма отправлялась на определенный адрес (на mail.ru). После заполнения формы и нажатия кнопки ОТПРАВИТЬ выдается сообщение: Ошибка!!! Ваше сообщение не отправлено. Не пойму в чем дело... Из контактов сообщения отправляются. У меня joomla 1.0.15 Сайт http://oriflame-nn.xan.su Буду премного благодарен.
помогите: компонент устанавливается, но когда я в админке на него нажимаю, то получаю : Fatal error: require_once() [function.require]: Failed opening required '' (include_path='.;/usr/local/php5/PEAR') in Zhome\localhost\www\project\administrator\components\com_b3v_feedback\admin.b3v_feedback.php on line 16 я полнейший лузер. очень нуждаюсь в помощи.
Мне компонент понравился, спасибо создателю. Просто и душевно. Есть только важный вопрос, как разные формы отправлять на разные e-mail? Как можно реализовать не через копию компонента, а привязав к каждой форме основного компонента свой e-mail?
у меня джумла 1,5 стоит пытался установить этот компонент, сперва там че то с legacy проблема была, включил я этот плагин, установилось удачно, но когда нажимал компоненты - бюро 3 фидбэк - формы или компоненты выдавалось сообщение Код (html): 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-ой строчке. я посмотрел этот файл - ну и че? в чем прикол?
а ну я тут даже только что внимание обратил - тут еще один человек столкнулся с такой же проблемой - так что это уже не единичный случай
Подскажите пожалуйста как осуществить показ формы обратной связи в зависисмости от выбранного в Jfish языка при установке там вроде даже папочки есть английский и русский SEO Joomla 1.0.15 JoomFish 1.8.0 com_b3v_feedback(rel).zip сегодня скачал из этой ветки и еще не очень понятно где там галочка для включения капчи в настройках компонента нет (или я не нашел)
Re: Ответ: компонент формы обратной связи com_b3v_feedback 1 а как сделать вывод формы в зависимости от языка Joom!fish 2 у меня например ссылка из меню идет на конкретную форму по ид, а при переключении языка отображается меню с выбором формы и единственное что отображается по английски - Available forms:
После отправки заполненой формы, приходят 2 одинаковых письма, как сделать. где подправить, чтобы приходило только одно. Зарание спасибо
Читала, что выложили релиз для Joomla 1.5x. Но что-то на сайте разработчика его не увидела Подскажите, где взять это чудо?
Ребята. Второй уже. 500, белый лист и все такое - это не проблемы компонента. Читайте логи, а дальше уже по течению.
не заходит даже в админку компонента! все привет! вот мне не удается попасть даже в админку компонента после его установки. выдает следующее: 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 Ни у кого такого не было? Так как в программировании знания мои близки к нулю - совсем не пойму, что бы это могло значить? в чем косяк? в компоненте или у меня? спасибо!
Re: не заходит даже в админку компонента! Такая же проблемма, в этой ветке уже не раз люди жаловались на данный баг, но к сожалению полный игнир проблеммы, подскажите пожалуста как с этим бороться.
Re: не заходит даже в админку компонента! Вот тут человек рецепт предлогает http://joomlaforum.ru/index.php?topic=41396.30 , он предлогает удалить В файле /home2/irbism/public_html/components/com_b3v_feedback/b3v_feedback.php удали 22 строку, но прикол в том что у меня на месте 22-ой строки пропуск строки что удалять ума не приложу