Тэг elements — элементы формы

Все элементы формы: поля, html-вставки, группы полей (fieldset) и прочее необходимо оборачивать в этот тег. Без этого работать не будет.

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

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

Тег используется внутри тегов: form (если нет вкладок), header, tab и footer.

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

<elements>

</elements>

Пример использования нескольких elements подряд:

<elements>
    <field name="foo" prompt="Проба пера" />
    <!-- ... -->
    <html><![CDATA[<h2>HELLO WORLD!</h2>]]></html>
    <!-- ... -->
</elements>
<elements>
    <field name="test" prompt="BAR" type="int"/>
</elements>

Через elements бывает удобно изменять ширину сразу у всех полей формы

<elements width="{{#76*9}}"> <!-- Например, так у всех элементов, включая html будет ширина 684 пикселя. -->
</elements>
  • [ ] (Примечание: было бы правильнее использовать атрибут size, но, к сожалению, он пока не до конца поддерживается всеми элементами и типами полей). (_TODO)

Элементы

(Мы постарались перечилить элементы в том порядке, в каком они чаще всего идут. Но при этом реальный порядок не принципиален).

(N) — элемент может использоваться несколько раз, (1) — элемент используется один раз (но таких тегов внутри elements пока нет)

  • field (N) — наиболее используемый элемент формы — поле. Как правило данные из поля сохраняются в базу.
  • finishsql (N) — запрос, выполняющийся при сохранении и/или удалении. Может быть использован как внутри elements (так чаще всего происходит), так и сразу внутри вкладки (равно, кстати, как и за пределами вкладки, просто в теге form).
  • fieldset (N) — группа полей с плюсиком. Очень важный элемент!
  • list (N) — встроенный список.
  • html (N) — HTML-вставка. Также в этом теге можно использовать php.
  • text (N) — практически тоже самое, что html, только без возможности использовать тэги и php.
  • button (N) — кнопка, по нажатии на которую можно вызвать обновление поля, javascript, запрос или php.
  • hr (N) — горизонтальная разделительная черта
  • legend (N) — редко используемый тег — выводит симпатичный подзаголовок для последующей за ним группы полей. Предпочтительнее использовать legend, нежели <html><[CDATA[<h3>Подзаголовок</h3>]]></html> (это слишком громоздко и является плохим стилем)
  • properties (N) — крайне редко используемый тег для задания полей SQL-запросом. Используется, когда надо добавить в форму динамически создаваемые поля (например, характеристики устройства — в зависимости от группы, к которой относится устройство, набор полей будет разным; набор полей и группы при этом задаются из справочника).

Общие элементы

condition (N) — задаёт условие, при котором элемент (или группа элементов) должен/должна быть показана. Как правило данный тег используется внутри отдельного элемента (поля, html-вставки, списка, etc. — всех перечисленных выше, кроме finishsql и legend). Также данный тег можно указать непосредственно внутри elements — тогда condition наследуют все дочерние элементы.

  • [ ] _TODO: исправить работу condition внутри legend.

Атрибуты

Внутри elements могут быть указаны любые атрибуты. Все атрибуты из elements будут наследованы дочерними элементами (за исключением finishsql)

results matching ""

    No results matching ""