Кнопки такого типа можно использовать для выполнения сценариев, вычис —
ляющих сумму значений других элементов формы, вывода на экран сообщений,
загрузки в окно или фрейм новой Web-страницы или вставки в список выбора нового элемента. Таким образом, функция кнопки общего назначения ограниче —
на только вашим воображением и методами используемого вами сценарного языка.
Блокирование и разблокирование элементов
формы «на лету»
Иногда элементы формы могут носить взаимоисключающий характер. Напри —
мер, если вы зададите посетителю вопрос: «Состоите ли вы в браке?» и в каче — стве ответа на этот вопрос посетитель выберет переключатель нет, ему уже не
нужно будет вводить имя супруга в поле spouse. Аналогично, если на форме на — ходится группа флажков, в которой посетитель может выбрать любые устраиваю —
щие еГО ОПЦИИ, И ИМ был ВЫбраН флаЖОК Наподобие «Ничего» ИЛИ «Ничего из
перечисленного», он уже не должен выбирать другие флажки в группе. Каждый элемент формы имеет атрибут disabled, который можно использовать для зап — рещения пользователю изменять элемент.
ПРИМЕЧАНИЕ Некоторые устаревшие браузеры не поддерживают атрибут disabled. Та — ким образом, проверку правильности ввода в форму данных должна осуществлять функция
проверки, даже если имеется сценарий, который устанавливает атрибут disable d для со — ответствующих полей формы.
170 Глава 3. HTML-формы
ПРАКТИКУМ
Предположим, например, что форма, показанная на рис. 3.22, используется для запроса у посетителя его семейного положения. За счет выполнения следующей JavaScript-функции можно блокировать ввод в поле имени второй половины и запретить посетителю изменять его содержимое или даже устанавливать на него курсор, т. е. перемещать фокус (при этом само поле затеняется серым цветом).
Для указания Web-браузеру на необходимость запуска приведенной выше фун —
кции при выборе переключателя Maritaistatu s введите следующий код:
Атрибут onclick дескриптора
для переключателя заставляет Web-бра —
узер ВЫПОЛНИТЬ фуНКЦИЮ disableSpuseName() при выборе ЭТОГО переключателя.
Передавая функции disableSpuseNameо значение False или True, Web-брау — зер блокирует или разблокирует поле SpouseName (на рис. 3.22 оно обозначе — но как «Имя супруга (и) :») . Так, например, если посетитель выберет пере —
ключатель «Состою в браке», функции disableSpuseName () будет передано значение False. Функция, со своей стороны, установит значение атрибута disabled элемента SpouseName формы равным False, что сделает элемент актив- ным (разблокирует его) и посетитель сможет ввести в поле имя своей половины.