Формы ввода данных
Формы ввода данных хранятся в папке
cms/form
Пример формы:
<form>
<group>
<field name="area" type="select" label="Место жительства" required="Y"><?php
return "г. Нижний Новгород|г. Арзамас|г. Бор|г. Выкса|г. Дзержинск|г. Первомайск|г. Саров|г. Шахунья";
?></field>
<div id="field-group" class="hide">
<hr />
<field name="field-01" type="radio" label="Оцените работу" required="Y" label-grid-n="1" label-grid-s="8" input-grid-n="10" input-grid-s="2"><?php
return "1|2|3|4|5";
?></field>
</div>
</group>
<script>
$(function() {
$("#area-field").change(function() {
if ($(this).val()) $("#field-group").show();
else $("#field-group").hide();
}).triggerHandler("change");
});
</script>
</form>
Элементы формы
В XML-документе, описывающем форму, допускаются следующие элементы:
<form></form>
– обязательный элемент, в который заключены все остальные элементы<group></group>
– элемент, описывающий группу полей. Визуально отображается как серый прямоугольник со скругленными углами<field />
или<field></field>
– поле ввода данных формы<script></script>
– код на языке JavaScript, который будет выполняться в процессе заполнения формы пользователем<hr />
,<p></p>
,<div></div>
, … – произвольные XHTML-элементы
Таким образом, минимальную форму можно создать с помощью следующего XML-документа:
<form>
<group>
<field />
</group>
</form>
Параметры полей ввода данных
Элемент
или
может иметь следующие атрибуты:
name
– имя поля. Допускаются символы латинского алфавита, цифры, символы “-” и “_”type
– тип поля. Возможные значения: text (ввод текста), password (ввод пароля), checkbox (флажок да/нет), select (раскрывающийся список), radio (радио-кнопка), multiple (выбор нескольких вариантов с помощью флажков), textarea (многострочный текст), date (выбор даты), captcha (проверочный код) и т.п. Список типов полей может быть расширен, например, полями для загрузки файлов, картинок, и т.д., которые требуют специальной обработки введенных данныхlabel
– текст напротив поля вводаinfo
– всплывающая подсказка для данного поляrequired
– является ли поле обязательным для заполнения
Если для поля необходим список возможных вариантов (например, для радио-кнопки, выпадающего списка или выбора нескольких вариантов), то этот список необходимо создать с помощью вставки на языке PHP. В самом простом варианте список возможных значений задается строкой, в которой варианты разделены символом “|”:
<?php return '1|2|3|4|5'; ?>
Также допускается задание возможных значений в виде массива, ключами которого являются возможные значения, а элементами – их текстовые описания:
<?php return array( '' => 'По умолчанию', '1' => 'Вариант №1', '2' => 'Вариант №2' )?>
По умолчанию, поле ввода данных отображается в виде текста, который занимает 4/12 ширины страницы, и самого поля ввода, которое занимает 8/12 ширины страницы. Эти параметры можно изменить с помощью атрибутов поля:
label-grid-n
– в какой из 12 ячеек начинается текст (по умолчанию 1 – текст слева)label-grid-s
– сколько ячеек из 12 занимает текст (по умолчанию 4 – ширина текста 4/12)input-grid-n
– в какой из 12 ячеек начинается поле ввода (по умолчанию 5 – сразу после текста)input-grid-s
– сколько ячеек из 12 занимает поле ввода (по умолчанию 8 – ширина поля ввода 8/12)
Пример выше иллюстрирует использование этих атрибутов.