Серверная часть приложения

Независимо от способа реализации сценарий приложения с < автодополнения на стороне сервера самый прямолинейный - < ставляет собой единственный поток исполнения, выполняю!

SuggestionProvider

Класс SuggestionProvider гораздо проще в реализации, чем класс AutoSuggestControl, поскольку он выполняет единственную функцию -запрашивает список подсказок у сервера и возвращает его элементу управления. Для этого объекту SuggestionProvider необходим экземп¬ляр XmlHttp.

Поддержка возможности быстрого ввода

Когда пользователь нажимает клавишу, метод handlrKeyUpO запраши¬вает новый список подсказок, поэтому вполне может возникнуть во¬прос: «Успеет ли он получить новые подсказки, если символы будут вводиться достаточно быстро?». Ответ отрицательный, и он может вас удивить.

Усовершенствование метода init()

Итак, все новшества добавлены, и теперь их необходимо ини ровать. Прежний метод init() устанавливал обработчик соб key up, теперь он должен также установить обработчики событий down и onblur и создать выпадающий список. Установка обра события onkeydown производится так же, как и установка обра события onkeyup:
AutoSuggestControl.prototype.init = function () {

Добавление поддержки клавиатуры

Дополнительные возможности по управлению списком подсказок виатуры относятся к следующим четырем клавишам: «стрелка «стрелка вниз», Esc и Enter (или Return).

Расширение функциональности

Прежде чем продемонстрировать выпадающий список с подск надо внести изменения в функции, которые были описаны выше.

Добавление и отображение подсказок

На следующем шаге нужно создать метод, который добавит новые под¬сказки в выпадающий список и затем отобразит его.

Позиционирование выпадающего списка

Для создания полной иллюзии выпадающего списка необходимо, бы он появлялся непосредственно под текстовым полем. Если бы текстовое поле имело абсолютную позицию, то все было бы до~ просто.

Отображение списка подсказок

В этой главе мы уже говорили о том, как организовать отобр выпадающего списка с помощью кода HTML и CSS. Теперь наша j состоит в том, чтобы создавать код HTML программным путем и i нять к нему каскадные таблицы стилей для создания полной i выпадающего списка.

Обработка событий нажатия на клавиши

Разумеется, функция автодополнения должна быть привязана к собы-тяжм, возникающим в текстовом поле. Существует три различных со¬жития, которые связаны с клавиатурой: keydown, keypress и keyup.

<<Page 2>>