Неизвестное о формах

Каждый HTML-кодер и веб-программист многократно в своей жизни создавал формы разных типов и назначений, и практически каждый не знает до конца всех элементов форм и что с ними можно делать. Это, естественно, не касается элементов INPUT и тому подобных, потому что не знающий их не является ни HTML-кодером, ни веб-программистом.

Отчасти прогресс в области самообразования сдерживался браузером Netscape 4. Кодеры смотрели на таблицу поддержки языка HTML браузером Netscape 4, сравнивали ее со спецификацией HTML 4.0, удрученно качали головами и откладывали вопрос изучения необычных свойств форм в долгий темный ящик своего новенького (или старенького) компьютерного стола. Но сейчас-то можно смело сдувать пыль с архивных документов, потому что браузер Netscape 4 мирно скончался. Нет, он конечно предпринимает попытки хоть на один лишний час удержаться в чартах, но решительные веб-разработчики уже не в силах терпеть его узких рамок и потрясающей нестабильности. Они устали от постоянных и в большинстве своем тщетных попыток искать окружные пути, чтобы старичок Netscape 4 не вешался при обработке сложной таблицы стилей. Короче, окончательные похороны уже не за горами, так что можно отбросить формальности и наконец-то заглянуть в спецификацию HTML 4.0, которую достаточно хорошо поддерживают браузеры MSIE 5+ и Netscape 6, но несколько хуже Opera 5+.

Откроем ее на разделе "Формы" и внимательно изучим, что там такого незнакомого и полезного. А вот и первые элементы!

FIELDSET

Поддерживается браузерами: MSIE 4+, Netscape 6, Opera 5+.

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

LEGEND

Поддерживается браузерами: MSIE 4+, Netscape 6.

Имеет атрибут ALIGN, который теоретически позволяет размещать название не только сверху, но он не работает ни в одном браузере.

Самое прекрасное, что на элемент FIEDLSET можно писать стили, то есть вы можете сделать рамку любого цвета и так далее. Надо сказать, что элемент LEGEND помечен в спецификации HTML 4 как нежелательный, однако это достаточно странно.

А вот добрались и до примера. Ниже приведена форма, которая заключена в элемента FIELDSET и называется "Ваш комментарий".

<Form> <Fieldset Style="Border: 1Px Solid #000; Padding: 10Px; Width: 350px"> <Legend>Bаш комментарий</Legend> <P>вы можете разместить на сайте ваш<br> комментарий, касающийся данной статьи</P> <Table> <Tr><Td>Имя:</Td><Td><Input Size=29></Td></Tr> <Tr><Td>E-Mail:</Td><Td><Input Size=29></Td></Tr> <Tr><Td>Страна:</Td><Td> <Select style="Width: 200"> <Option Selected>Россия </Select></Td></Tr> <Tr><Td Colspan=2 valign=top>Комментарий: <Textarea Rows=7 Cols=35></Textarea></Td></Tr> <Tr><Td Colspan=2> <Input Type="Submit" Value="отправить"></Td></Tr> </Table> </Fieldset> </Form>

Bаш комментарий

вы можете разместить на сайте ваш
комментарий, касающийся данной статьи

Имя:
E-Mail:
Страна:
Комментарий:

Как видите, форма заключена в достаточно оригинальную рамку с названием, которую очень сложно сделать средствами CSS без использования элементов FIELDSET и LEGEND. Конечно, пользоваться ими надо с умом, потому что далеко не всегда форме нужна подобная рамка.

А сейчас рассмотрим элемент, который вам уже должен быть знаком.

BUTTON

Поддерживается браузерами: MSIE 5+, Netscape 6.

Данный элемент значительно расширяет функциональные возможности кнопок. Имеет атрибут TYPE, который может принимать значения submit, reset и button. Первые два значения и так ясно для чего, а вот третье предназначено для тех случаев, когда надо исполнять какой-нибудь скрипт. То есть на кнопку вешается событие OnСlick и вызывается нужная функция. Данный элемент не поддерживается браузером Operа 5+.

Самое интересное, что внутри элемента BUTTON можно с успехом размещать другие HTML-элементы, так что можно сделать кнопку с текстом и рисунком. Вот так:

<BUTTON TYPE="button">
Кнопочка <IMG SRC=/images/main/images.gif WIDTH=30 HEIGHT=30 BORDER=0 ALT="кнопочка не функционирует">
</BUTTON>

Можно вместо рисунка запихать вовнутрь что вашей душе угодно, хоть таблицу, если вам это необходимо.

<BUTTON TYPE="button"> <TABLE BORDER=1 CELLSPACING=0 WIDTH=200> <TR> <TD>нажми на кнопку</TD> <TD>получишь результат</TD> </TR> </TABLE> </BUTTON>

OPTGROUP

Поддерживается браузерами: MSIE 6, Netscape 6.

Который позволяет группировать пункты в элементе SELECT. В этом случае добавляются отступы и названия каждой группы, так что пользователю при выборе необходимого пункта ориентироваться гораздо проще. Название группы задается в атрибуте LABEL элемента OPTGROUP. Кстати, этот элемент браузером Opera 5+ опять же не поддерживается, так что можно с полной уверенностью сказать, что по реализации поддержки форм Opera является худшим браузером. Вот пример использования группировки:

<form> <p>Справочники:</p> <select name="ask"> <optgroup label="HTML"> <option label="3.2">HTML 3.2 <option label="4.0">HTML 4.0 </optgroup> <optgroup label="CSS"> <option label="1">CSS-1 <option label="1">CSS-2 <option label="3">CSS-3 </optgroup> <option value="js">JavaScript <option value="dhtml">DHTML </select></p> </form>

А вот так будет выглядеть такой выпадающий список в браузере:

Справочники:

Более того, каждую группу с помощью CSS можно раскрасить в свой цвет! Делается это с использованием свойства background. Например, первую группу сделаем зеленой, а вторую желтой.

Справочники:

<form> <p>Справочники:</p> <select name="ask"> <optgroup label="HTML" STYLE="background: #090"> <option label="3.2" STYLE="background: #090">HTML 3.2 <option label="4.0" STYLE="background: #090">HTML 4.0 </optgroup> <optgroup label="CSS" STYLE="background: #FF0"> <option label="1" STYLE="background: #FF0">CSS-1 <option label="1" STYLE="background: #FF0">CSS-2 <option label="3" STYLE="background: #FF0">CSS-3 </optgroup> <option value="js">JavaScript <option value="dhtml">DHTML </select></p> </form>

Итак, кое-что полезное о формах вы, надеюсь, узнали. Плохо то, что браузер Opera 5+ не поддерживает большинство из упомянутых здесь элементов, так пользователи этого браузера всей неземной красоты форм оценить не смогут. Но это исключительно их проблемы.

Автор: Михаил Дубаков


Copyright © 2002-2006 Максим Комогоров. Все права защищены.
Замечания, вопросы и предложения направляйте
по адресу: webscript@pisem.net
Поиск по сайту
О проекте
Архив
Hosted by uCoz