Программирование >>  Руководство по созданию web приложений 

1 ... 12 13 14 [ 15 ] 16 17 18 ... 141


<tr <а

Новое содержимое таблицы представляет собой одну строку ссылки в виде слова Поиск. При выборе этой или аналогичной ссылки в исходной таблице с календарями , . передастся функции до, к стра-

нице поиска покупателей.

Когда пользователь вновь активизирует искать по дате реги-

; функция . : . возвращает таблицу календарей в исходное со-

oPNode =

. + sCalendarPreserve + Что же касается функции go, то мы рассмотрим ее в следующем i

Загрузка новой страницы в окно браузера

Сценарий JavaScript способен загрузить в окно браузера (или в окно фрейма, если документ содержит фреймы) новый документ HTML, заданный адресом 1 RL, В :, i если текущий документ содержит форму запроса к базе дан-

Функция : ; по событию когда пользователь

гцелкает этот переключатель. Если флажок снят, функция hidecalendar сохраняет в переменной кода HTML . календарей с идентификатором calendarTable: var sCalendarPreserve;

oPNode;

iffdncuient.ali. iJsei . . .-. == false) {

oCi.rrerii : Id

sCalendarPreserve = .

Далее . hidecalendar создает новую таблицу, сохраняя ссыл-

ку на соответствуюгций объект в переменной oNewNode, и замегцает таблицу с календарями этой пустой таблицей:

oNewNode= .

На следующем этапе мы замещаем содержимое таблицы, , свойство

.: и выключаем переключатель:



Здесь в cboiictbo h объекта location адрес страни-

цы ASP е названием Get Search Эта страница расположена в том же

каталоге, что и вызывающий ее HTML, поэтому вместо полного пути

мы указали только имя файла.

После файла проставлен разделяющий символ и достаточно

пая строка параметров, странице ASP. Эта строка содержит началь-

ную и дату, имя пользователя, адрес его электронной почты и еще один

параметр с именем FRCE, о котором мы пока умолчим. Строка параметров будет прочитана и обработана серверным сценарием, встроенным в страницу Get-Подробнее об этом мы расскажем в . главе.

Если Вы не собираетесь выполнять предварительную обработку формы при помощи клиентского адрес данной страницы ASP указать в

ACTION тега <FORM>, как это делается при вызове расщирений CGI и

ISAPI.

Перекодирование содержимого полей форм

Чтобы из полей формы были корректно программам CGI,

ISAPI или странице они должны иметь так называемую кодировку IM, В кодировке символы пробелов заменяются а для представле-

кодов и других символов последова-

вида где символы собой

код исходного символа в виде двух символов ASCII.

Если Бы передаете программам CGI, или странице ASP параметры из

сценария, преобразование текстовых строк в кодировку I, III, придется выполнить явным В сценариях JavaScript это легко осуществить при помощи функции escape. Вот, как это делается в функции до из только что рассмотренного примера:

var sEMail=escape( all. Sea

Если же вызов программ сервера Web или страниц ASP выпол-

няется через параметр ACTION тега г:}ИН>. преобразование ,i (iiic>, i,iiri автома-

JavaScript может загрузить в текущее окно браузера документ HTML (или ASP) с результатами обработки этого запроса.

Именно так и работает до из примера, приведенного в листинге 2-3:

function go()



Глава 2, Сценарии встраницах HTML и DHTML

Отключение кэширования страниц

Когда м путешествует по сети Интернет с помощью браузера, посе-

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

К сожалении), механизм кэширования страниц иногда вызывает проблемы в приложениях Web, создающих страницы динамически при помощи программ CGI, ISAPI или средств ASP.

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

Как отменить кэширование страниц?

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

прокси-сервере, настроить который пользователь не может.

Первый достаточно известный способ заключается в применении тега <МЕТА> с параметром . .: ... . res, расположенного внутри заголовка документа < II EAD>. Этот : .. : указывает дату, начиная с которой содержимое документа считается устаревшим и он подлежит перезагрузке. Например, Вы можете использовать тег <ИЕТА> следующего вида; <МЕТА HTTP-EQUW=Explres СЖГЕНТ=Тив. 02 Jan 1996 01:00:00 6НТ>

К сожалению, этот простой способ не всегда. Более надежный спо-

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

Параметр с именем ERCE представляет собой слзайное число, ползенное от функции - random и преобразованное в текстовую строку функцией toStn,n,

Другие способы отключения кэширования страниц будут описаны в главе, посвященной серверным сценариям ASP.

Модальные и немодальные диалоговые панели

При создании любых интерактивных приложений всегда возникает задача стч бражения различных сообщений или получения от пользователя дополнительной информации. В этом разделе мы расскажем об использовании для этой цели модальных и немодальных окон, создаваемых средствами клиентских i in,aiapn(is.

3 in, 357]



1 ... 12 13 14 [ 15 ] 16 17 18 ... 141

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика