Windows Script Host для Windows 2000/XP
Шрифт:
}
//Функция-обработчик нажатия на кнопку ">"
function btnNext_OnClick {
//Проверяем, были ли сделаны изменения в форме
if (objListPersons.IsChanged) { //Изменения были сделаны
//Сохраняем данные в XML-файле
objListPersons.SaveData;
//Заново загружаем данные из XML-файла в массив PersonArr
objListPersons.FileToArray;
}
//Переходим к следующей записи в массиве
objListPersons.NextRecord;
//Загружаем в форму данные из массива PersonArr
//для текущей записи
objListPersons.LoadDialog;
//Выводим сообщение в заголовке окна
doc.title = "Запись N " + (objListPersons.CurRecord + 1);
}
//Функция-обработчик нажатия на кнопку ">>"
function btnFinal_OnClick {
//Проверяем, были ли сделаны изменения в форме
if (objListPersons.IsChanged) { //Изменения были сделаны
//Сохраняем данные в XML-файле
objListPersons.SaveData;
//Заново загружаем данные из XML-файла в массив PersonArr
objListPersons.FileToArray;
}
//Переходим к последней записи в массиве
objListPersons.FinalRecord;
//Загружаем в форму данные из массива PersonArr
//для текущей записи
objListPersons.LoadDialog;
//Выводим сообщение в заголовке окна
doc.title = "Запись N " + (objListPersons.CurRecord + 1);
}
//Функция-обработчик изменения текста в полях ввода
function txtBoxOnChange {
//Устанавливаем признак изменения данных в форме
objListPersons.IsChanged = true;
//Выводим сообщение в заголовке окна
doc.title = "Редактирование данных";
}
Окончательная доработка сценария IEPhoneBook.js
Выше были описаны все основные функции, которые используются для работы с записной книжкой в диалоговом режиме. Осталось лишь собрать эти функции в один JScript-сценарий IEPhoneBook.js, определить глобальные переменные и добавить вспомогательные функции
GetTagVal(obj, tgName)
и SetTagVal(obj, tgName, sVal)
для доступа к значениям XML-элементов (листинг 7.13). Листинг 7.13. Функция для доступа к значениям XML-элементов
//Определение значения тега tgName XML-элемента obj
function GetTagVal(obj, tgName) {
var ElemList;
//Создаем коллекцию дочерних для obj элементов, которые
//задаются тегом tgName
ElemList=obj.getElementsByTagName(tgName);
//Проверяем, есть ли в коллекции ElemList элементы
if (ElemList.length>0)
//Возвращаем значение тега tgName
return ElemList.item(0).text
else return "";
}
//Изменение значения тега tgName XML-элемента obj
function SetTagVal(obj, tgName, sVal) {
var ElemList,New;
//Создаем коллекцию дочерних для obj элементов, которые
//задаются тегом tgName
ElemList=obj.getElementsByTagName(tgName);
//Проверяем, есть ли в коллекции ElemList элементы
if (ElemList.length>0)
//Устанавливаем значение элемента, задаваемого
//тегом tgName
ElemList.item(0).text=sVal;
else {
//Создаем новый элемент с именем tgName
NewElem=XML.createElement(tgName);
//Добавляем новый элемент в качестве дочернего для
//элемента obj
obj.appendChild(NewElem);
//Устанавливаем значение добавленного элемента
obj.lastChild.text=sVal;
}
}
Полный текст сценария IEPhoneBook.js приведен в листинге 7.14.
Листинг 7.14. Сценарий IEPhoneBook.js
/*******************************************************************/
/* Имя: IEPhoneBook.js */
/* Язык: JScript */
/* Описание: Сценарий для работы с записной книжкой */
/* (графический интерфейс пользователя на основе */
/* HTML-формы). */
/*******************************************************************/
//Объявляем глобальные переменные
Поделиться:
Популярные книги
Вечный. Книга I
1. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Точка Бифуркации XIII
13. ТБ
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Убийца
3. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.26
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 35
35. История Телепата
Фантастика:
аниме
боевая фантастика
фэнтези
5.00
рейтинг книги
Пустоши
1. Медорфенов
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Двойник короля 19
19. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Старый, но крепкий 2
2. Культивация без насилия
Фантастика:
рпг
уся
эпическая фантастика
5.00
рейтинг книги
Камень. Книга восьмая
8. Камень
Фантастика:
фэнтези
боевая фантастика
7.00
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 37
37. История Телепата
Фантастика:
фэнтези
аниме
боевая фантастика
5.00
рейтинг книги
Зеркало силы
3. Артефактор
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Язычник
5. Варяг
Приключения:
исторические приключения
8.91
рейтинг книги
Наследие Маозари 2
2. Наследие Маозари
Фантастика:
попаданцы
рпг
аниме
5.00
рейтинг книги
Глава рода
5. Живой лёд
Фантастика:
боевая фантастика
6.55
рейтинг книги
Агенты ВКС
3. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00