//Переходим к предыдущей записи в массиве

 objListPersons.PreviousRecord();

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

 //для текущей записи

 objListPersons.LoadDialog();

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

 doc.title = 'Запись N ' + (objListPersons.CurRecord + 1);

}

//Функция-обработчик нажатия на кнопку 'Новая запись'

function btnNew_OnClick() {

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

 if (objListPersons.IsChanged) { //Изменения были сделаны

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

  objListPersons.SaveData();

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

  objListPersons.FileToArray();

 }

 //Добавляем новую запись в XML-файл

 objListPersons.NewRecord();

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

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

 objListPersons.LoadDialog();

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

 doc.title = 'Добавлена новая запись';

}

//Функция-обработчик нажатия на кнопку 'Удалить'

function btnDelete_OnClick() {

 //Удаляем текущую запись из XML-файла

 objListPersons.DelRecord();

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

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

 objListPersons.LoadDialog();

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

 doc.title = 'Запись удалена';

}

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

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 '';

}

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату