Разработка INTRANET приложений
3942494f

Обработка событий


В основном JavaScript применяется для создания интерактивных документов. Диалоговый элемент INPUT формы расширен и может содержать указание на событие и функцию его обработки.

Основной синтаксис, используемый для указания обработчиков событий:

<TAGeventHandler="JavaScriptCode">

Здесь TAG - это некоторый тег HTML, а eventHandler - имя обработчика событий. Как правило, обработчик событий имеет имя, совпадающее с именем события, с приставкой "on" (см. таблицу 3.2). Заметим, что многие объекты имеют методы, эмулирующие события, но эти методы не запускают обработчик события.

Таблица 3.2. Типы событий и обработчиков

Событие

Когда происходитОбработчик события blurПотеря фокуса ввода элементом формыonBlur clickПользователь щелкает мышкой по элементу формы или связиonClick changeПользователь изменяет значение элемента text, textarea, или выделяет элементonChange focusУстановка фокуса ввода на элементе формыonFocus loadПользователь загружает страницу в броузерonLoad mouseoverПользователь двигает мышью над связью или якоремonMouseOver selectПользователь выбирает поле ввода элемента формыonSelect submitПользователь посылает формуonSubmit unloadПользователь выходит со страницыonUnload

Ниже представлен пример диалога ввода имени пользователя и вывода сообщения приветствия. Нажатие кнопки мыши вне элемента ввода (событие onBlur - потеря фокуса) после набора строки текста приводит к вызову стандартной функции alert для выдачи сообщения.

<SCRIPT> functionsalut (name) { alert ("Здравствуйте, ", name, " !"); } </SCRIPT> <BODY> Введите Ваше имя: <FORM> <INPUTtype="text" name="user" onBlur="salut(this.value)" value=""> </FORM> </BODY>

Другой пример иллюстрирует обработку события onClick при нажатии видео-кнопки документа - вызов функции подтверждения confirm:

<FORM> <INPUTtype="button" name="btn1" value="Выход" onClick="confirm('Вы желаете покинуть страницу')"> </FORM>

Аналогичным образом строятся и другие более сложные диалоги, связанные с проверкой числовых значений при вводе.


<INPUTNAME="Button1" TYPE="BUTTON" VALUE="ClickHere" OnClick='MsgBox " Wonderfultobehold."'>

Отметим, что вызов функции выделен апострофами, а фраза, которая должна появится в диалоговом окне, кавычками. Можно указать несколько действий, разделяя их двоеточием (:).

Также можно написать скрипт в контейнере <SCRIPT>, указав явным образом элемент формы и событие:

<SCRIPTLANGUAGE="VBScript" EVENT="OnClick" FOR="Button1"> MsgBox " Wonderfultobehold." </SCRIPT>

В этом случае, после того как Вы определили в контейнере <SCRIPT> событие и элемент управления, к которому оно относиться, уже не надо пользоваться выражениями Sub и EndSub.

В HTML-страничках можно использовать различные сочетания управляющих элементов и процедур обработки событий. Например, в следующем примере показано, как можно проверить правильность информации, введенной пользователем:

<HTML> <HEAD><TITLE>SimpleValidation</TITLE> <SCRIPTLANGUAGE="VBScript"> SubSubmit_OnClick   DimTheForm SetTheForm = Document.ValidForm IfIsNumeric(TheForm.Text1.Value) Then IfTheForm.Text1.Value < 1 OrTheForm.Text1.Value > 10 Then MsgBox "Pleaseenteranumberbetween 1 and 10." Else MsgBox "Thankyou." TheForm.Submit' Datacorrect; sendtoserver. EndIf Else MsgBox "Pleaseenteranumericvalue." EndIf EndSub </SCRIPT> </HEAD> <BODY> <H3>SimpleValidation</H3><HR> <FORMNAME="ValidForm"> Enteravaluebetween 1 and 10: <INPUTNAME="Text1" TYPE="TEXT" SIZE="2"> <INPUTNAME="Submit" TYPE="BUTTON" VALUE="Submit"> </FORM> </BODY> </HTML>

Этот пример отличается от предыдущих, тем, что здесь для проверки содержимого поля ввода используется свойство Value. Для того, чтобы обратиться к свойству Value, необходимо указать имя поля ввода. Всегда нужно указывать полное имя объекта формы - Document.ValidForm.Text1. Но чтобы всегда не писать длинные имена, можно поступить следующим образом: сначала необходимо объявить некоторую переменную (в примере TheForm), а затем используя выражение Set поставить ей в соответствие имя формы. После этого объявленную переменную можно использовать в качестве имени формы.

В последнем примере использовалась зарезервированная кнопка Submit, которая обычно используется для отправки данных из формы на сервер. Но в нашем примере при нажатии этой кнопки запускается функция проверки правильности введенной информации. В случае корректности информации, введенной пользователем, необходимо отправить ее на сервер для обработки. Это делается с помощью метода Submit. Этот метод вызывается в примере следующей строкой:

TheForm.Submit


Содержание раздела