Как мы видели в примерах на протяжении этой книги, работа с HTML_формами – это основная часть почти всех JavaScript_программ. В данной главе объясняются детали программирования форм в JavaScript. Предполагается, что вы уже в ка_ кой_то степени знакомы с созданием HTML_форм и с содержащимися в них эле_ ментами ввода. Если нет, обратитесь к хорошей книге по HTML.1
Те, кто уже знаком с программированием HTML_форм на стороне сервера, заме_ тят, что в случае форм, в которых используется JavaScript, все делается по_дру_ гому. В серверной модели форма с содержащимися в ней данными целиком от_ правляется на веб_сервер. Акцент делается на обработке полного набора входных данных и динамической генерации веб_страницы в качестве отклика. В Java_ Script применяется совершенно иная модель программирования. В JavaScript_ программах акцент делается не на передаче и обработке данных формы, а на об_ работке событий. Форма и все расположенные на ней элементы ввода имеют об_ работчики событий, позволяющие программировать реакцию на взаимодейст_ вие пользователя с формой. Если пользователь, например, щелкает на флажке, JavaScript_программа может получить уведомление через обработчик события и отреагировать на него, изменив значение, отображаемое в каком_либо другом элементе формы.
В серверных программах HTML_форма без кнопки Submit бесполезна (возможен вариант, когда форма содержит только одно текстовое поле ввода и позволяет нажать клавишу Enter для передачи данных). В то же время в JavaScript кнопка Submit не требуется (если, конечно, JavaScript_программа не работает совместно с программой на стороне сервера). В JavaScript форма может содержать произ_ вольное количество кнопок с обработчиками событий, выполняющими при щелчке произвольное количество действий.
1 Например, Чак Муссиано и Билл Кеннеди «HTML и XHTML. Подробное руковод_ ство», 6_е издание. – Пер. с англ. – СПб.: Символ_Плюс, 2008.
454 Глава 18. Формы и элементы форм
Как мы видели, рассматривая примеры в этой книге, обработчики событий почти всегда представляют собой центральный элемент JavaScript_программы. А чаще других используются обработчики событий, связанные с формой и ее элемента_ ми. В этой главе вводятся объект Form и различные JavaScript_объекты, представ_ ляющие элементы формы. Завершается она примером, показывающим, как с по_ мощью JavaScript проверить на стороне клиента введенные пользователем дан_ ные перед отправкой их программе, исполняемой на стороне веб_сервера.