Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТПвС_ответы.doc
Скачиваний:
14
Добавлен:
20.04.2015
Размер:
801.28 Кб
Скачать

Input (checkbox)

Тип checkbox применяется в качестве селектора. Если, например, в заявке на комплектующие нужно набирать из нескольких заранее определенных позиций, то можно применить поле типа checkbox:

<FORM>

1. Mouse — <INPUT NAME=mouse TYPE=checkbox>

2. Keyboard — <INPUT NAME=key TYPE=checkbox>

3. Monitor — <INPUT NAME=monitor TYPE=checkbox>

</FORM>

При использовании полей checkbox следует учитывать, что они хороши там, где не нужно выбирать. Например, на вопрос "Являетесь ли вы членом профсоюза?" может быть только два взаимоисключающих ответа: да или нет. В этом случае применяют поле другого типа — radio.

Отображение поля типа checkbox в запросе зависит от параметров, которые указаны в контейнере INPUT. Очевидно, что атрибуты длины и видимости в случае checkbox не применяются. Для checkbox, как и для любого другого поля, необходимо применение атрибута NAME, иначе значение поля не будет учтено в запросе. Кроме того, в checkbox используются атрибуты VALUE и CHECKED.

По умолчанию, если поле отмечено как выбранное пользователем, в запрос попадает пара "name=on", где name — имя поля. Атрибут VALUE позволяет изменить значение выбранного поля. Например:

<FORM>

Mouse — <INPUT NAME=mouse VALUE=mouse

TYPE=checkbox>

</FORM>

В этом случае вместо "on" в правой части равенства появится "mouse".

Атрибут CHECKED определяет состояние поля по умолчанию, т.е. в момент первоначальной загрузки страницы или выбора кнопки Reset. Если он указан, то поле считается по умолчанию выбранным (отмеченный прямоугольник):

<FORM>

Mouse — <INPUT NAME=mouse VALUE=mouse

TYPE=checkbox CHECKED>

</FORM>

На дальнейшие действия пользователя этот атрибут не влияет, если, конечно, не потребуется снять отметку.

Важным отличием поля типа checkbox от поля типа radio является обработка полей с одинаковыми именами. В случае поля типа checkbox — это разные поля, и их значения никак не связаны между собой. При одновременном выборе полей с одинаковыми именами в запрос попадут все выбранные поля. При этом пары "имя=значение" будут просто повторяться. Другой вариант можно реализовать только через поля типа radio. Можно, конечно, исхитриться и сделать альтернативным вариант через поля типа checkbox, используя JavaScript.

Input (radio)

Тип radio контейнера INPUT определяет поле "селектор". Данный тип применяется там, где необходимо обеспечить выбор из нескольких заданных взаимоисключающих вариантов. Например, в анкете может быть графа "Пол":

<FORM>

Пол:

<INPUT NAME=sex TYPE=radio>Мужской

<INPUT NAME=sex TYPE=radio>Женский

</FORM>

В данном случае при выборе одного из вариантов со второго автоматически снимается отметка. Это главное отличие типа поля radio от типа checkbox. Обратите внимание на то, что имена полей одинаковые.

Если наш пример оставить как он есть, то скрипт, который будет принимать данные, не получит сведений о том, какой из вариантов был выбран. В любом случае будет выдаваться запрос типа: "?sex=on". Если вариантов не выбирать, то соответствующая пара "имя_поля-значение" вообще не появится в запросе.

Для того, чтобы указать выбранный вариант в контейнере INPUT, нужно ввести атрибут VALUE:

<FORM>

Пол:

<INPUT NAME=sex TYPE=radio VALUE=m>Мужской

<INPUT NAME=sex TYPE=radio VALUE=f>Женский

</FORM>

В данном случае вместо "on" передается соответствующее значение. Скрипт теперь в состоянии различить выбранный вариант.

Если в контейнерах INPUT типа radio задать разные имена, то разницы между этим типом и типом checkbox почти не будет:

<FORM>

Пол:

<INPUT NAME=sex1 TYPE=radio VALUE=m>Мужской

<INPUT NAME=sex2 TYPE=radio VALUE=f>Женский

</FORM>

Слово "почти" означает отсутствие возможности отменить выбор альтернативы, если она уже была выбрана. Таким образом, предполагается, что один из вариантов должен быть выбран обязательно, что должно заметно влиять на применение полей INPUT типа radio.

В данном контексте следует рассматривать и применение атрибута CHECKED в полях этого типа. Как и в checkbox, атрибут CHECKED позволяет определить значение поля по умолчанию. В нашем случае выбор по умолчанию из набора вариантов:

<FORM>

Пол:

<INPUT NAME=sex TYPE=radio VALUE=m

CHECKED>Мужской

<INPUT NAME=sex TYPE=radio VALUE=f>Женский

</FORM>

Пусть в нашем примере речь идет о приеме на вредную работу, на которую нанимаются преимущественно мужчины. Альтернативой по умолчанию станет значение "m" для поля с именем sex. Значение по умолчанию устанавливается либо при первичной загрузке страницы, либо при выборе кнопки типа reset.