|
Программирование >> Руководство по созданию web приложений
<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]
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |