Основы Web-инжиниринга. Часть 1. Громов Ю.Ю - 91 стр.

UptoLike

ста в поле. Во-вторых, обработчик события не вызывается при изменении значения атрибута value из JavaScript-
программы. В этом можно убедиться, нажав на кнопку Change, – окно предупреждения не открывается. Но если ввести что-
то в поле, а после этого нажать на Change, окно появится.
Отметим, что он работает по-разному для Internet Explorer и Netscape Navigator, а именно по-разному обрабатывается
событие onChange. Для Internet Explorer при любом изменении поля событие обрабатывается незамедлительно, для Netscape
Navigator – после потери фокуса активным полем.
Одним из важных элементов интерфейса пользователя является меню. В HTML-формах для реализации меню исполь-
зуются поля типа Select (тег SELECT, который, в свою очередь, вмещает в себя теги Option). Эти поля представляют
собой списки вариантов выбора. При этом список может "выпадать" или прокручиваться внутри окна. Поля типа Select
позволяют выбрать из списка только один вариант, либо отметить несколько вариантов. Для управления полями типа
Select в JavaScript существуют объекты Select и Option.
Эти объекты характеризуются следующими свойствами, методами и событиями:
Объект Select
Свойства Методы События
Form
Length
Name
Options[]
SelectedIndex
Type
Blur()
Click()
Focus()
OnBlur
OnChange
OnFocus
Объект Option
Свойства Методы События
DefaultSelected
Index
Selected
Text
SelectedIndex
Value
Нет Нет
Остановимся на типичных способах применения комбинаций этих двух объектов. Несмотря на то что объект Option в
нашей таблице находится ниже, что отражает его подчиненное по отношению к Select положение, начнем с описания его
свойств и особенностей.
Объект Option интересен тем, что в отличие от многих других объектов JavaScript имеет конструктор. Это означает,
что программист может сам создать объект Option:
opt = new Option([ text, [ value, [ defaultSelected, [ selected ] ] ] ]);
где
textстрока текста, которая размещается в теге <LI> (<LI>текст);
valueзначение, которое передается серверу при выборе альтернативы, связанной с объектом Option;
defaultSelectedальтернатива выбрана по умолчанию (true/false);
selectedальтернатива выбрана (true/false)
На первый взгляд не очень понятно, для чего может понадобиться программисту такой объект, ведь создать объект типа
Select нельзя и, следовательно, нельзя приписать ему новый объект Option. Все объясняется, когда речь заходит об из-
менении списка альтернатив встроенных в документ объектов Select. Делать это можно, так как изменение списка альтер-
натив Select не приводит к переформатированию документа. Изменение списка альтернатив позволяет решить проблему
создания вложенных меню, которых нет в HTML-формах, путем программирования обычных меню (options[]).
При программировании альтернатив (объект Option) следует обратить внимание на то, что среди свойств Option нет
свойства name. Это означает, что к объекту нельзя обратиться по имени. Отсутствие свойства объясняется тем, что у тега
Option нет атрибута Name. К встроенным в документ объектам Option можно обращаться только как к элементам масси-
ва options[] объекта Select.
Массив options[]это свойство объекта Select. Элементы этого массива обладают теми же свойствами, что и
объекты Option. Собственно, это и есть объекты Option, встроенные в документ. Они создаются по мере загрузки стра-
ницы браузером. Программист имеет возможность не только создавать новые объекты Option, но и удалять уже созданные
браузером объекты:
<FORM NAME=f0>
<SELECT NAME=s0>
<OPTION>Первый вариант
<OPTION>Второй вариант
<OPTION>Третий вариант
</SELECT>
<INPUT TYPE=button VALUE="Удалить последний вариант"