Чтение онлайн

ЖАНРЫ

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

function ie_DocumentComplete {

 //Создаем экземпляр objListPersons объекта ListPersons

 objListPersons = new ListPersons;

 //Загружаем данные из XML-файла в массив PersonArr

 objListPersons.FileToArray;

 //Получаем ссылку на объект Document

 doc = ie.Document;

 //Устанавливаем заголовок окна

 doc.title = "Редактирование данных";

 //Указываем
функции-обработчики нажатий на кнопки формы

 doc.all.btnSave.onclick=btnSave_OnClick;

 doc.all.btnCancel.onclick=btnCancel_OnClick;

 doc.all.btnFirst.onclick=btnFirst_OnClick;

 doc.all.btnPrevious.onclick=btnPrevious_OnClick;

 doc.all.btnNew.onclick=btnNew_OnClick;

 doc.all.btnDelete.onclick=btnDelete_OnClick;

 doc.all.btnNext.onclick=btnNext_OnClick;

 doc.all.btnFinal.onclick=btnFinal_OnClick;

 //Указываем функции-обработчики изменения текста в полях ввода

 doc.all.txtLastName.onchange = txtBoxOnChange;

 doc.all.txtName.onchange = txtBoxOnChange;

 doc.all.txtPhone.onchange = txtBoxOnChange;

 doc.all.txtStreet.onchange = txtBoxOnChange;

 doc.all.txtHouse.onchange = txtBoxOnChange;

 doc.all.txtApp.onchange = txtBoxOnChange;

 doc.all.txtNote.onchange = txtBoxOnChange;

 if (objListPersons.PersonArr.length < 1)

//Если в XML-файле нет данных, добавляем пустую запись

objListPersons.AddRecord;

 //В качестве текущей устанавливаем первую запись

 objListPersons.CurRecord = 0;

 //Загружаем в форму данные из массива PersonArr

 //для первой записи

 objListPersons.LoadDialog;

 // Делаем окно Internet Explorer'а видимым

 ie.Visible = true;

}

В функции

ie_DocumentComplete
, кроме прочего, задаются функции-обработчики событий, генерируемых в форме текстовыми полями ввода и кнопками. К описанию процесса обработки таких событий мы и перейдем.

Обработка событий, генерируемых элементами управления формы

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

<input type="button" value="<<" name="btnFirst">

Для доступа к элементу управления используется объект Document, который соответствует загруженному в браузер HTML-документу. Ссылка на объект Document Хранится в свойстве Document объекта Application:

//Получаем ссылку на объект Document

doc = ie.Document;

Обработчики

событий для элементов управления формы указываются тогда следующим образом:

doc.all.ControlName.EventName=FunctionName;

Здесь

ControlName
— имя элемента управления,
EventName
— имя обрабатываемого события,
FunctionName
— имя функции-обработчика, которая будет вызываться при наступлении события
EventName
. Событие, возникающее при нажатии на кнопку в форме, называется
onclick
, а событие, происходящее при изменении текста в поле ввода, —
onchange
:

//Указываем функции-обработчики нажатий на кнопки формы

doc.all.btnSave.onclick=btnSave_OnClick;

doc.all.btnCancel.onclick=btnCancel_OnClick;

doc.all.btnFirst.onclick=btnFirst_OnClick;

doc.all.btnPrevious.onclick=btnPrevious_OnClick;

doc.all.btnNew.onclick=btnNew_OnClick;

doc.all.btnDelete.onclick=btnDelete_OnClick;

doc.all.btnNext.onclick=btnNext_OnClick;

doc.all.btnFinal.onclick=btnFinal_OnClick;

//Указываем функции-обработчики изменения текста в полях ввода

doc.all.txtLastName.onchange = txtBoxOnChange;

doc.all.txtName.onchange = txtBoxOnChange;

doc.all.txtPhone.onchange = txtBoxOnChange;

doc.all.txtStreet.onchange = txtBoxOnChange;

doc.all.txtHouse.onchange = txtBoxOnChange;

doc.all.txtApp.onchange = txtBoxOnChange;

doc.all.txtNote.onchange = txtBoxOnChange;

Сами функции-обработчики нажатий на различные кнопки и изменения текста в полях ввода приведены с подробными комментариями в листинге 7.12.

Листинг 7.12. Функции-обработчики нажатия кнопок и изменения поло ввода

//Функция-обработчик нажатия на кнопку "Сохранить"

function btnSave_OnClick {

 //Сохраняем данные из формы в XML-файле

 objListPersons.SaveData;

}

//Функция-обработчик нажатия на кнопку "Отменить"

function btnCancel_OnClick {

 //Заново загружаем данные из текущего элемента массива

 //в форму

 objListPersons.LoadDialog;

 //Выводим сообщение в заголовке окна

 doc.title = "Данные восстановлены";

}

//Функция-обработчик нажатия на кнопку "<<"

function btnFirst_OnClick {

 //Проверяем, были ли сделаны изменения в форме

Поделиться с друзьями: