стовой области на HTML-странице должно выглядеть следующим образом: <р>Сообщение: Вниманию отдела по работе с клиентами : Проверка данных текстового элемента перед передачей результатов заполнения формы Проверка данных однострочного или многострочного поля ввода текста перед передачей результатов формы на сервер, как правило, включает проверку данных введенных посетителем в поле. Предположим, например, что HTML-код Web- страницы содержит следующее описание формы, которая запрашивает у посети- теля его имя и адрес электронной почты: Имя: Фамилия: Адрес E-mail: ШНН^ННИК ПРАКТИКУМ ШШ&ШШШЛ Дабы убедиться в том, что посетитель ввел данные в поле адреса электронной почты, можно вставить JavaScript-сценарий, который будет выполнять "проверку" содержимого поля формы. JavaScript-сценарий должен быть помещен между на- чальным и конечным дескрипторами сценария (). Несмотря на то что сценарий можно разместить в любом месте HTML-кода Web-страницы, функции проверки данных рекомендуется помещать непосредственно после на- чального дескриптора кода страницы. (Размещение всех сценариев в од- ном месте кода страницы позволяет легко их находить в случае, когда необходи- мо посмотреть, что, собственно, делает код страницы.) Таким образом, чтобы убедиться, что посетитель ввел данные в поле адреса электронной почты в насто- ящем примере, HTML-код Web-страницы должен выглядеть примерно так: Начальный и конечный дескрипторы комментария (• | и —>), которые заклю- чают в себе JavaScript-сценарий, не оказывают влияния на Web-браузеры, которые имеют возможность читать и выполнять JavaScript-сценарии. Тем не менее, началь- ный и конечный дескрипторы комментария предотвращают вывод на экран кода JavaScript-сценария в Web-браузерах, не поддерживающих сценарные языки. В первой строке сценария объя- вляется функция ValidateForm, И таким образом, в дальнейшем на нее можно ссылаться по этому имени. Вторая и третья строки кода проверяют значение поля формы с именем Email и в случае, если текстовое поле Email при выполнении сценария Web-стра- ницы окажется пустым, выводят на экран показанное на рис. 3.6 диалоговое окно предупреждения. Если поле Email не содержит данных, четвертая и пятая строки JavaScript- сценария (расположенные после вызова метода a l e r t ( ) ) перемещают фокус на поле ввода Email и возвращают значение False HTML-дескриптору, который "вызвал" функцию. Для того чтобы Web-браузер выполнял функцию vaiidateForm () при нажатии посетителем кнопки Submit, в дескриптор формы необходимо добавить атрибут onsubmit, который выглядит следующим образом: Рис. 3.6. Диалоговое окно предупреждения, выводимое в случае, если не заполнено поле ввода адреса электронной почты 140 Глава 3. HTML-формы Не пропустите ключевое слово return, которое находится перед вызовом функции vaiidateForm(). В противном случае Web-браузер передаст результаты формы Web-серверу, даже если функция vaiidateForm() вернет значение False, указывающее на наличие ошибок во введенной на форму информации. Если все атрибуты дескриптора введены без ошибок (как в приведенном при- мере), атрибут onSubmit заставит Web-браузер после нажатия посетителем кноп- ки Submit выполн