Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

Библиотека :: Компьютеры и Программирование :: К.Джамса, К.Кинг, Э.Андерсон - Эффективный самоучитель по креативному Web-дизайну. HTML, XHTML, CSS, JavaScript, PHP, ASP, ActiveX.
<<-[Весь Текст]
Страница: из 389
 <<-
 
ных посетителем данных 
Ранее в этой главе мы говорили о том, что список выбора представляет собой 
меню, из которого посетитель может выбрать один или несколько элементов в 
зависимости от того, присутствует ли атрибут multiple в дескрипторе  
списка выбора. (Если атрибут multiple указан, Web-браузер даст посетителю 
возможность выбирать из меню несколько элементов.) Несмотря на то что вы 
должны указать возможность или невозможность выбора в списке нескольких 
элементов в описании списка выбора, содержащиеся в списке элементы можно 
менять в любое время, даже после того как браузер визуализировал этот список. 
Предположим, например, что имеется форма, показанная на рис. 3.11, кото- 
рая предлагает посетителю ввести имена членов его семьи, а затем выбрать имя 
наиболее пожилого из них. 
ПРАКТИКУМ 
В этом примере меню выбора (показанное на рис. 3.11 над кнопками Submit и 
Reset) СОДерЖИТ ТОЛЬКО ОДИН Элемент - "-— Имена членов семьи --" ("-- 
Family Member Names — " ) . Чтобы ДОбаВИТЬ В СПИСОК Выбора НОВЫе Элементы 
(т.е. имена членов семьи), запрограммируем кнопку для вызова JavaScript-функ- 
ции, которая будет вставлять в список новый элемент: 
 
Далее определим функцию addToListo, которую Web-браузер будет вызывать 
при нажатии посетителем кнопки "Добавить имя в список". Для этого вставим 
следующий JavaScript-код после дескриптора  в рамках HTML-кода Web- 
страницы. (Имя функции и значение атрибута value кнопки будет зависеть от 
функции, которая должна выполняться в результате нажатия кнопки.)

Глава 3. HTML-формы 151 
 

Файл Орввкв С.рвис. Справке 
барвс j@] h1tpy/htmbvebdesign/Chapter03/Figure03-10 htm 
Пожалуйста, введите имена членов вашей семьи: 
Добавить имя в список 
Выберите в списке имя старейшего члена семьи. 
Можно выбирать несколько имен. 
- Имена членов семьи — 
Отправить Очистить 
Рис. 3.11. Форма, в которой данные, введенные в текстовое поле, 
изменяют содержимое списка выбора

152 Глава 3. HTML-формы 
После проверки ввода пользователем хоть какой-нибудь информации в тек- 
стовое поле имени члена семьи функция addToListo добавляет новый элемент 
в список выбора с использованием следующего синтаксиса: 
ИмяСпискаВыбора. options[ИндексНовогоЭлемента] = 
new Option(ТекстОпции, ЗначениеОпции, SelectedByDefault, 
SelectedWhenAdded) ; 
В нашем примере параметры SelectedByDefault И SelectedWhenAdded В ВЫ- 
зове new Option имеют значения 0. Это значит, что вновь добавленные новые 
элементы списка по умолчанию являются невыбранными, и во время добавления 
нового элемента Web-браузер не выбирает его автоматически. Если же требуется, 
чтобы Web-браузер выбирал каждый елемент после его добавления пользовате- 
лем, установите значение параметра SelectedWhenAdded равным 1. 
Передача всех значений списка выбора на 
Web-сервер с использованием скрытых полей 
В предыдущем практикуме вы посмотрели, как использовать JavaScript-опера- 
тор new для добавления дополнительных опций (то есть элементов) в список вы- 
бора в ответ на введенную посетителем инормацию в текстовом поле формы. Од- 
нако когда посетитель щелкает на кнопке отправки формы, браузер отправляет 
Web-серверу только выбранные элементы списка выбора как часть результатов за- 
полнения формы. Как правило, это как раз то, что мы ожидаем от Web-браузера, 
поскольку список элементов был подготовлен заранее в коде формы. 
В случае, когда вы предлагаете посетителю добавить в список выбора новые 
элементы, необходимо чтобы передавались не только выбранные в списке эле- 
менты, но также и невыбранные. Иначе какой же смысл предлагать посетителю 
вводить что-либо, можно сказать, впустую. 
Предположим, например, вы предлагаете посетителю ввести моде
 
<<-[Весь Текст]
Страница: из 389
 <<-