Модуль simpleForm2simpleForm2

Модуль simpleForm2 - это модуль для CMS Joomla!, при помощи которого вы можете создавать любые формы (контактная форма, форма заказа и др.) на вашем сайте.

SimpleForm2 работает на технологии AJAX, поэтому отправка данных происходит без перезагрузки страницы. Плюс к этому simpleForm2 устроен таким образом, что даже если JavaScript отключен ваша форма все равно будет прекрасно работать.

В simpleForm2 построение формы происходит посредством мета-языка и схоже на ее построение в языке HTML. Также в сам код формы можно вписывать HTML код, JavaScript, CSS, что предоставляет вам безграничные возможности. Если вы не знакомы с языком HTML, то, скорее всего вам подойдет модуль simpleForm.

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

В коде формы simpleForm2 можно использовать следующие элементы:

  • form - тэг формы. (добавлен в версии 1.0.5)
  • element - тэг элемента формы (input, select, textarea...).
  • option - тэг одного из нескольких вариантов значения тэга element (его можно сравнить с option в HTML).

Элемент "form" может быть как открывающий {form} так и закрывающий {/form}. Этот элемент необязательный. Его следует использовать только в тех случаях, когда вы хотите вынести часть кода за пределы формы, например, для отображения формы во всплывающем окне с использованием какой-либо JavaScript библиотеки.

У каждого из этих элементов, кроме "form" есть определенный набор атрибутов. Атрибуты могут быть как обязательные так и не обязательные.

Примеры использования simpleForm2

пример simpleForm2 пример simpleForm2 пример simpleForm2 пример simpleForm2

Атрибуты тэга "element"

  • type * - Определяет тип элемента. Возможные значения: text, textarea, select, radio, button, submit, reset, checkbox, captcha, file (елемент "file" добавлен в версии 1.0.1).
  • label * - Определяет поясняющую надпись возле элемента.
  • name - Определяет название элемента для его использования в скриптах, а также для указания получателя письма и адрес для ответов пользователя на письма. (добавлен в версии 1.0.37)
  • required - Если значение этого атрибута равно "required", то заполнение данного элемента будет обязательным для пользователя.
  • regex - Значением этого атрибута может быть регулярное выражение для проверки правильности заполнения элемента, у которого назначен этот атрибут.
  • error - Значением этого атрибута может быть текст сообщения об ошибки вызванной незаплнением элемента, у которого определен этот атрибут и атрибут required имеет значение "required", либо введенные данные не прошли проверку регулярного выражения.
  • value - Значение этого атрибута является значением элемента по-умолчанию.
  • class - Если этот атрибут не пустой, то элементу будет задан CSS класс из значения этого атрибута.
  • multiple - Данный атрибут может использоваться только в элементе с типом: select. Определяет можно ли выбрать несколько вариантов значений. Возможные значения: multiple.
  • selected - применяется только к элементам типа: select, radio и checkbox. Определяет, отмечен ли элемент по-умолчанию.
  • width - Используется только в элементах типа: captcha. Определяет ширину изображения в пикселах. Возможные значения: целое число не менее 100.
  • height - Используется только в элементах типа: captcha. Определяет высоту изображения в пикселах. Возможные значения: целое число не менее 50.
  • onclick - Используется только в элементах типа: button, reset, checkbox. Определяет HTML атрибут onclick.
  • onchange - Используется только в элементах типа: text, textarea, select. Определяет HTML атрибут onchange.
  • extensions - Используется только в элементах типа: file. Определяет расширения файлов доступных для загрузки перечисленных через запятую. Например: gif, jpg, zip
  • maxsize - Используется только в элементах типа: file. Определяет мексимальный размер загржаемого файла. Принимает значения в килобайтах и магабайтах. Например, чтобы задать максимальный размер загружаемого файла в 200 килобайт нужно написать: 200Kb. Для размера в 1 мегабайт: 1Mb.
  • color - Используется только в элементах типа: captcha. Определяет цвет надписи в формате HEX. Если отсутствует - цвет генерируется случайным образом. (добавлен в версии 1.0.5)
  • background - Используется только в элементах типа: captcha. Определяет цвет фона в формате HEX. Если отсутствует - цвет генерируется случайным образом. (добавлен в версии 1.0.5)
  • plugin - Используется только в элементах типа: captcha. Определяет какой плагин из группы "Captcha" будет использоваться в качестве проверочного кода. (добавлен в версии 1.0.40)

Атрибуты тэга "option"

  • label * - Определяет поясняющую надпись возле элемента.
  • value * - Определяет вариант значения элемента.
  • selected - Если значение этого атрибута равно "selected", то данный вариант значения элемента будет отмечен по-умолчанию.
  • onclick - Определяет HTML атрибут onclick.

Элемент "option" используется только как содержимое элемента "element" типа: select, radio, checkbox.

Внимание! Атрибуты, отмеченные знаком * являются обязательными атрибутами.

Обработка формы происходит в соответствии с требованиями указанными в параметрах элементов. Данные собираются по шаблону прописанному в языковом файле и отправляются на e-mail, указанный в настройках модуля формы.

Пример кода формы simpleForm2:

{form}
<p>{element label="Ваше имя" type="text" required="required" error="Введите ваше имя" /}</p>
<p>{element label="Ваше сообщение" type="textarea" required="required" error="Введите ваше сообщение" /}</p>
<p>
   {element label="simpleForm2 - это:" type="select"}
      {option label="Модуль" value="Модуль" /}
      {option label="Компонент" value="Компонент" /}
      {option label="Плагин" value="Плагин" /}
      {option label="Не знаю" value="Не знаю" /}
   {/element}
</p>
<p>{element type="submit" value="Отправить" /}</p>
{/form}

Регулярные выражения для проверки полей:

для проверки e-mail: ~^[0-9a-z\.\-_]+@[a-z0-9]+[0-9a-z\.\-]*?\.[a-z]{2,4}$~ для проверки URL: ~^((https?|ftp)\:\/\/)?[a-z0-9]+[a-z0-9-.]*\.[a-z]{2,4}$~ для проверки номера телефона в формате: +0(000)000-000 или +000(00)00-00-00 ~^\+[0-9]+\([0-9]{2,4}\)[0-9\-]+$~

История изменений

v.1.0.40
  • Добавлена возможность использования системных плагинов Captcha
v.1.0.37
  • Добавлена возможность указывать e-mail, на который будет отправляться ответ пользователя
  • В качестве значений для параметров "E-mail ответного письма" и "E-mail получателя" можно указывать имя элемента формы
  • Добавлена возможность задавать каждому элементу формы имя параметром "name". В качестве имени можно использовать только цифры и латинские буквы.
  • Данные об отправителе писем берутся из настроек сайта
v.1.0.29
  • Для элементов text, textarea, captcha, file добавлен атрибут placeholder
v.1.0.27
  • Существенно переработан JavaScript обслуживающий форму
  • Добавлен механизм позволяющий форме работать без JavaScirpt
v.1.0.26
  • Авторизованным пользователям CAPTCHA не показывается
v.1.0.20
  • Добавлена возможность управления подключением библиотеки jQuery
  • Добавлена возможность управления режимом работы библиотеки jQuery
v.1.0.19
  • Исправлена проблема с переводом в Joomla! 1.6.
  • Добавлена возможность управления результатом обработки формы
v.1.0.13
  • Добавлена возможность автоматического обновления модуля в Joomla! 1.6.
v.1.0.6
  • Исправлена ошибка связанная с обработкой нескольких елементов "file" с одинаковыми названиями.
v.1.0.5
  • Добавлен элемент "form".
  • Добавлен параметр "color" у элемента типа: "captcha".
  • Добавлен параметр "background" у элемента типа: "captcha".
v.1.0.4
  • Исправлена ошибка связанная с обработкой атрибута "onchange".
v.1.0.3
  • Шаблон письма вынесен в файл шаблона.
v.1.0.2
  • В письмо добавлена информация о том, с какой страницы было отправлено сообщение.
v.1.0.1
  • Можно вводить несколько e-mail адресов получателей писем
  • Письма отправляются в формате HTML
  • Письмо формируется из 2-х шаблонов. 1- общий шаблон письма. 2- шаблон каждой записи значения элемента формы.
  • Добавлен новый элемент "file" - элемент позволяющий загружать файлы, которые прикрепляются к письму.