Элемент Text (однострочное текстовое поле) применяется в HTML_формах и Java_ Script_программах, пожалуй, чаще других. В однострочное текстовое поле поль_ зователь может ввести короткий текст. Свойство value представляет текст, вве_ денный пользователем. Установив это свойство, можно явно задать выводимый текст. Обработчик события onchange вызывается, когда пользователь вводит но_ вый текст или редактирует существующий, а затем указывает, что он завершил редактирование, убрав фокус ввода из текстового поля.
Элемент Textarea (многострочное текстовое поле) очень похож на элемент Text за исключением того, что разрешает пользователю ввести (а JavaScript_программе вывести) многострочный текст. Многострочное текстовое поле создается тегом <textarea>, при этом синтаксис существенно отличается от синтаксиса тега <input>, используемого для создания однострочного текстового поля. (Подробнее об этом см. в разделе с описанием элемента Textarea в четвертой части книги.) Тем не менее эти два типа элементов ведут себя очень похожим образом. Свойст_ во value и обработчик события onchange для многострочного текстового поля мож_ но использовать точно так же, как для однострочного.
Элемент Password (поле ввода пароля) – это модификация однострочного тексто_ вого поля, в котором вместо вводимого пользователем текста отображаются сим_ волы звездочек. Эта особенность позволяет вводить пароли, не беспокоясь о том, что другие прочитают их через плечо. Обратите внимание: элемент Password за_ щищает введенные пользователем данные от любопытных глаз, но при отправке данных формы эти данные никак не шифруются (если только отправка не вы_ полняется по безопасному HTTPS_соединению) и при передаче по сети могут быть перехвачены.
И наконец, элемент File (поле ввода имени файла) предназначен для ввода поль_ зователем имени файла, который должен быть загружен на сервер. По существу, это однострочное текстовое поле, совмещенное со встроенной кнопкой, выводя_ щей диалоговое окно выбора файла. У элемента File, как и у однострочного тек_ стового поля, есть обработчик события onchange. Однако в отличие от текстового поля ввода, свойство value объекта File доступно только для чтения. Это не дает злонамеренным JavaScript_программам обмануть пользователя, загрузив файл, не предназначенный для отправки на сервер.
Консорциум W3C еще не утвердил стандарт для объектов событий и обработчи_ ков событий от клавиатуры. Тем не менее современные броузеры определяют об_
18.3. Сценарии и элементы формы
работчики событий onkeypress, onkeydown и onkeyup. Эти обработчики могут зада_ ваться для любого объекта документа, но наиболее полезны они при назначении их текстовым полям и подобным им элементам, в которые пользователь вводит реальные данные. Можно вернуть false из обработчиков событий onkeypress или onkeydown, чтобы запретить обработку нажатой пользователем клавиши. Это мо_ жет быть полезно, например, когда требуется заставить пользователя вводить только цифры. Этот прием демонстрируется в примере 17.5.