Роботландский Университет © А.А.Дуванов |
Рассмотрим еще две разновидности тега <INPUT>:
Флажки, или как говорят, кнопки с независимой фиксацией хорошо знакомый элемент компьютерного интерфейса:
Флажки не зависят один от другого. Их можно устанавливать и сбрасывать в любой комбинации. |
<INPUT type="checkbox">
Дополнительные атрибуты:
Объект, построенный браузером для тега
Проделайте следующие опыты:
<INPUT type=checkbox name=flag>
Свойство checked объекта, построенного для тега этого
<INPUT>, имеет значение false,
как и выражение this.form.flag.checked, в команде
if.
this.form.flag.checked = !this.form.flag.checked;
Свойство checked изменит свое значение с false на
true. На экране в поле флажка появляется отметка (хотя мы ее
там не ставили, а устроили ее появление на экране при помощи
программного кода).
Как видите, свойство checked можно не только читать, но и менять, устанавливая или сбрасывая флажок программным путем.
Обратите внимание на то, что свойство checked объекта имеет совсем другой смысл, чем одноименный атрибут тега <INPUT>. Атрибут указывает, что флажок установлен по умолчанию, а свойство хранит текущее состояние флажка, которое может меняться пользователем или программой.
Программы, которые страдают склерозом, могут легко проверить, был ли установлен атрибут checked в теге <INPUT>, если обратятся к свойству defaultchecked соответствующего объекта.
Проделайте следующие опыты:
Ниже представлена программа для этого фрагмента зачетного класса. |
В качестве значения атрибута name в тегах-флажках можно указывать одно и то же имя для флажков, входящих в одну группу. Доступ к отдельному флажку в группе выполняется так же, как к элементам массива при помощи индекса. Флажки в группе нумеруются в порядке их следования в HTML-коде, и нумерация начинается с нуля. Форму из предыдущего документа можно записать так:
Радиокнопки (селекторные кнопки, переключатель) предназначены для выбора одного варианта из нескольких альтернативных. Подобно кнопочному переключателю диапазона волн в радиоприемнике, выбор одной кнопки автоматически снимает отметку с другой.
В группе радиокнопок активной может быть только одна. Отметка на новой кнопке автоматически снимает отметку на старой. |
<INPUT type=radio>
Дополнительные атрибуты:
Объект, построенный браузером для тега
Значит, можно проверить, выбрана кнопка или нет, и использовать это в своей программе:
Проделайте следующие опыты:
onclick="var x = this.form.tst[0].checked; this.form.tst[0].checked=this.form.tst[1].checked; this.form.test[1].checked=x;"
Этот код перебросит отметку со второй кнопки на первую.
Свойство checked объекта не совпадает с одноименным атрибутом тега <INPUT>. Атрибут checked устанавливает отметку на кнопке по умолчанию, а свойство checked отражает текущее состояние кнопки. Как и в случае с флажками, атрибуту checked соответствует свойство defaultChecked.
Изменяя активность одной кнопки переключателя, программист берет на себя ответственность правильно изменить свойство checked у всех его остальных кнопок (отмечена может быть только одна кнопка в группе).
В примере представлены два независимых переключателя. Программа умножителя приводится ниже. |
Нажмите кнопку Сброс, затем приступайте к решению.
По нажатию на кнопку Показать приложение должно открыть новое окно и показать в нем заказанные картинки с короткими подписями. Новое окно должно создаваться на лету с использованием информации, которую ввел в форму пользователь.
Можно использовать картинки из каталога ".\pic" книжки:
dog.jpg (собака)
bigdaisy.jpg (одинокий цветок)
flower.jpg (букет)
nasos.jpg (насос)
Пример возможной страницы:
![]() |