Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

JavaScript для начинающих. Изучаем с нуля. выпуск двадцать третий


Информационный Канал Subscribe.Ru

Рассылка для всех, кто желает освоить JavaScript

JavaScript для начинающих

Выпуск #23
Письмо автору
Хостинг от 1.2$ в месяц
Скрипты для web-мастера HTML для чайников

Отображение диалоговых окон

Объект window использует три метода отображения сообщений, добавляя в сценарий элементы интерактивности. Мы уже использовали их в рассмотренных сценариях.

Метод alert отображает диалоговое окно с сообщением для пользователя. Оно содержит только одну кнопку ОК.

Метод confirm отображает диалоговое окно подтверждения выполнения операции. Оно содержит кнопки ОК и Cancel (Отмена), позволяющие выбрать один из вариантов.

Метод prompt запрашивает у пользователя необходимые для сценария данные. Он возвращает введенный пользователем текст.

Создание сценария отображения диалоговых окон

В качестве наглядного примера применения разных диалоговых окон приведен листинг 23.1 с кодом HTML-документа, позволяющим протестировать диалоговые окна.

Листинг 23.1. Документ HTML, отображающий диалоговые окна сообщения, подтверждения и запроса


    <HTML><HEAD><TITLE>Разные диалоговые окна</TITLE></HEAD>
    <BODY>
    <H1>Разные диалоговые окна</H1>
    <HR>
    Для тестирования используйте кнопки
    <HR>
    <FORM NAME="winform">
    <INPUT TYPE="button" VALUE="Сообщение"
    onClick="window.alert('Пример сообщения');">
    <p><INPUT TYPE="button" VALUE="Подтверждение"
    onClick="temp=window.confirm('Правильно?');
    window.status=(temp) ? 'Если true' : 'Если false';">
    <p><INPUT TYPE="button" VALUE="Запрос"
    onClick="var temp=window.prompt('Введите текст','Значение по умолчанию');"
    window.status=temp;">
    </FORM>
    <BR>Вот такие дела
    <HR>
    </BODY>
    </HTML>

На странице отображаются три кнопки, каждая из них запускает свой обработчик события. Давайте детально их рассмотрим.

  • Проще всего вызывается сообщение. Оно отображается после щелчка на первой кнопке.

  • После щелчка на второй кнопке в строке состояния отображается возвращаемое значение.

  • Третья кнопка используется для вывода диалогового окна запроса данных. Заметьте, что метод prompt имеет и второй параметр, определяющий значение по умолчанию, которое указывается в поле. Если в этом диалоговом окне щелкнуть на кнопке Cancel, то будет возвращено значение null.

    Управление фреймами

    Использование объектов фреймов

    При разделении окна на отдельные фреймы управление ими осуществляется с помощью объекта frame. Объект frame используется для управления только текущим фреймом. Этот объект синтаксически равноправен отрибуту name в дескрипторе <FRAME>

    Вы еще помните, что оба ключевых слова window и self соответствуют текущему окну? При использовании фреймов эти ключевые слова относятся к текущему фрейму. Еще одно ключевое слово parent позволяет обращаться к главному окну браузера.

    Каждый объект frame выступает в качестве дочернего по отношению к родительскому объекту window. В листинге 23.2 приведен код HTML определения набора фреймов.

    Листинг 23.2. Документ HTML с фреймами

    
        <FRAMESET ROWS="*,*" COLS="*,*">
        <FRAME NAME="topleft" SRC="topleft.htm">
        <FRAME NAME="topright" SRC="topright.htm">
        <FRAME NAME="bottomleft" SRC="bottomleft.htm">
        <FRAME NAME="bottomright" SRC="bottomright.htm">
        </FRAMESET>
    

    Этот код разделяет документ HTML на равные четверти. Если вы имеете готовый файл topleft.htm, то он будет соответствовать объекту parent.topleft. В этом случае ключевые слова window и self также будут соответствовать фрейму topleft.

    Если вы используете закрепленные фреймы, то ситуация немного усложняется: объект window по-прежнему соответствует текущему фрейму, parent - определяет набор фреймов, в котором расположен текущий фрейм, а top - соответствует основному набору фреймов, содержащему остальные наборы.

    Массив frames

    Вместо того чтобы в программе обращаться к фрейму по имени, можно использовать массив frames. Он сохраняет сведения обо всех фреймах документа. В этом случае фреймы индексируются (начальное значение 0) и определяются в дескрипторе <FRAME>.

    Например, вы можете обращаться к фреймам в листинге 23.2 с помощью следующего кода:

    parent.frames[0] соответствует фрейму topleft

    parent.frames[1] соответствует фрейму topright

    parent.frames[2] соответствует фрейму bottomleft

    parent.frames[3] соответствует фрейму bottomright

    Для обращения к фрейму документа можно использовать и иерархическую структуру объектов. Выбирайте тот способ, который проще и удобнее для использования. Например, в документе, состоящем из 10 фреймов, к фреймам проще обращаться как к элементам массива. А двухфреймовым документом проще управлять с помощью имен объектов.

    Создание навигационного фрейма

    С помощью объектов frame можно создать навигационный фрейм, определяющий отображаемые на экране данные, введенные во втором фрейме.

    Сначала необходимо определить набор фреймов. Это проще простого. Листинг 23.3 показывает, как определить фреймы, разделяющие страницу на левую и правую области.

    Листинг 23.3. Документ HTML с фреймами

    
        <HTML>
        <HEAD>
        <TITLE>Навигационный фрейм</TITLE>
        </HEAD>
        <FRAMESET COLS="*,*">
        <FRAME NAME="left" SRC="left.htm">
        <FRAME NAME="right" SRC="about:blank">
        </FRAMESET>
        </HTML>
    

    Затем нам необходимо определить документ для левого фрейма, используемого для перемещения по документу другого фрейма. Он представлен в листинге 23.4

    Листинг 23.4. Документ HTML навигационного фрейма

    
        <HTML>
        <HEAD>
        <TITLE>Навигационный фрейм</TITLE>
        </HEAD>
        <BODY>
        <P>
        Одна из следующих ссылок загружает новую
        страницу в правой области
        </P>
        <UL>
        <LI><A HREF="#"
        onClick="parent.right.location='order.htm';
                 window.location='ordernav.htm';">
        Order Form</A>
        <LI><A HREF="#"
        onClick="parent.right.location='email.htm';
                 window.location='emailnav.htm';">
        Email</A>
        <LI><A HREF="#"
        onClick="parent.right.location='sales.htm';
                 window.location='salesnav.htm';">
        Sales</A>
        <LI><A HREF="#"
        onClick="parent.right.location='links.htm';
                 window.location='linksnav.htm';">
        Other Links</A>
        </UL>
        </BODY>
        <HTML>
    

    Этот программный код выглядит сложным из-за присутствия в нем двух операторов JavaScript, определяющих ссылки на странице. Эти операторы немного отличаются для разных ссылок. Вот пример первого по следованию оператора, задающего в программе HTML ссылку на ресурс:

    onClick="parent.right.location='order.htm';
    window.location='ordernav.htm';">

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

    Если вы хотите только загрузить указанный документ после щелчка на ссылке, используйте атрибут TARGET дескриптора <А>. Он позволяет избежать использование сценария JavaScript. Если вы добиваетесь одновременного обновления обоих кадров, используйте приведенный выше код.

    Чтобы протестировать сценарий, загрузите его в браузере. Убедитесь, что после щелчка на ссылке в правой области загружается необходимый документ HTML (их сделаете сами). Сначала загрузите код листинга 23.3.


    Вопросы для самоконтроля

    1. Какой из приведенных методов отображает диалоговое окно с кнопками ОК и Cancel?

    window.alert
    window.confirm
    window.prompt

    2. Что делает метод window.setTimeout?

    Выполняет операторы JavaScript после указанной временной задержки
    Блокирует браузер и компьютер пользователя на определенное время
    Начинает отсчет, после окончания которого компьютер пользователя взрывается

    3. Вы управляете документом, содержащим три фрейма с названиями first, second и third. Если сценарий со вторым фреймом ссылается на первый фрейм, то какой синтаксис для этого используется?

    window.first
    parent.first
    frames.first

    (Если в почтовой программе кнопка не срабатывает, сохраните страницу на диск и откройте в браузере.)


    Обратите особое внимание на нижеприведенный текст

    Читайте Роберта Кийосаки

    "Богатый папа, бедный папа" скачать

    "Квадрант денежного потока" скачать

    "Руководство богатого папы по инвестированию" скачать

    "Отойти от дел молодым и богатым" скачать

    "Бизнес-Школа" скачать

    и JavaScript вам больше не понадобится..


    Всем вкладывать деньги сюда. Проверенный, честный инвестиционный фонд
    Инвестиционный фонд Реал-Инвест. От 0.85% до 1.7% в день. Вложили 500$, получайте каждый день по 6.5$. Деятельность фонда на 70% основана на безрисковых операциях. Минимальная сумма вклада 10$. Возможность снимать проценты уже на следующий день после вклада. 100% гарантия на возврат денег. Полная информация о владельце.

  • Письмо автору
    Хостинг от 1.2$ в месяц
    Скрипты для web-мастера HTML для чайников

    © NBUSINESS.RU


    Subscribe.Ru
    Поддержка подписчиков
    Другие рассылки этой тематики
    Другие рассылки этого автора
    Подписан адрес:
    Код этой рассылки: inet.webbuild.javascripts
    Архив рассылки
    Отписаться
    Вспомнить пароль

    В избранное