Основы DHTML.
Программируем формы на Javascript




                     Автор: Павел Сериков
Типы данных Javascript
1) Литералы - данные, которые используются в программе непосредственно. А именно в
присваивании значений переменным или в операциях сравнения.
Например: числовые литералы — 10, 2.31, 2.3e+2, строковые литералы — 'строка', "строка"
2) Переменные - это области памяти, имеющие свое имя и хранящие некоторые данные.
Объявляются с помощью оператора var.
3) Массивы - упорядоченные наборы данных, идентифицируемых с помощью одного или
нескольких индексов. Делятся на встроенные (document.links[], document.images[] и т.п. — их
еще называют коллекциями) и определяемые пользователем. Для определения массива
пользователя существует специальный конструктор Array. Методы: join(), sort(), reverse().
4) Функции - механизм многократного использования кода программы. Функция как тип данных
определяется при помощи ключевого слова function.
5) Объекты - главный тип данных JavaScript. Любой другой тип данных имеет объектовую
"обертку" (wrapper).

Каждая функция является не только именем для группы операторов, но одновременно и
объектом. Объекты же (пользовательские) создаются с помощью функций (конструкторов).
Объектная модель документа
  (DOM — Document Object Model)
Суть: каждому HTML-контейнеру соответствует объект.
Обращение к методам, свойствам и событиям объекта
осуществляется при помощи точечной нотации.

                         Объект

   методы                   свойства                          события

  Определяют                                                   Атрибуты
    функции,        Атрибуты HTML =                           контейнера
   с помощью        свойства объекта                         расширяются
     которых                Например:
 выполняются          атрибуту HREF будет                     атрибутами
    действия        соответствовать свойство                   обработки
                        href этого объекта
с этим объектом     document.links[0].href='http://ya.ru/'      события
 document.write()                                               onClick
Свойства, методы и события
●   Свойства. Многие HTML-контейнеры имеют атрибуты. Как мы уже знаем, каждому
    контейнеру соответствует объект. При этом соответствии атрибутам отвечают свойства
    объекта. Соответствие между атрибутами HTML-контейнеров и свойствами DOM-объектов не
    всегда прямое. Обычно каждому атрибуту отвечает некоторое свойство объекта. Но, во-
    первых, название этого свойства не всегда легко угадать по названию атрибута, а во-вторых, у
    объекта могут быть свойства, не имеющие аналогов среди атрибутов. Кроме того, как мы
    знаем, атрибуты являются регистро-независимыми, как и весь язык HTML, тогда как свойства
    объектов нужно писать в точно определенном регистре символов. К свойствам можно также
    обращаться с помощью скобочной нотации: объект['свойство']
●   Методы объекта определяют функции, с помощью которых выполняются действия с этим
    объектом, например, изменение его свойств, отображения их на web-странице, отправка
    данных на сервер, перезагрузка страницы и т. п. Например, если у нас есть ссылка <A
    HREF="http://intuit.ru/">intuit</A> (будем считать, она первая в нашем документе), то у
    соответствующего ей объекта document.links[0] есть метод click(). Его вызов в любом месте
    JavaScript-программы равносилен тому, как если бы пользователь кликнул по ссылке, что
    демонстрирует пример:

    <A HREF="http://intuit.ru/">intuit</A><SCRIPT> document.links[0].click(); </SCRIPT>
●   События. Кроме методов и свойств, объекты характеризуются событиями. Собственно, суть
    программирования на JavaScript заключается в написании обработчиков этих событий.
    Например, с объектом типа button (контейнер INPUT типа button — "кнопка") может
    происходить событие Click, т.е. пользователь может нажать на кнопку. Для этого атрибуты
    контейнера INPUT расширены атрибутом обработки этого события — onClick. В качестве
    значения этого атрибута указывается программа обработки события, которую должен
    написать на JavaScript автор HTML-документа.
Иерархия классов объектов в DOM
Коллекции в объектной модели
            документа
Коллекция — это структура данных JavaScript, похожая на массив. Отличие коллекции от
массивов заключается в том, что массивы программист создает сам в коде программы и
заполняет их данными; коллекции же создаются браузером и "населяются" объектами,
связанными с элементами Web-страницы. Коллекцию можно рассматривать как другой,
зачастую более удобный способ доступа к объектам Web-страницы.
Объект document
Объект document является важнейшим свойством объекта window.
Все элементы HTML-разметки, присутствующие на web-странице, —
текст, абзацы, гиперссылки, картинки, списки, таблицы, формы и т.д.
— являются свойствами объекта document. Можно сказать, что
технология DHTML (Dynamic HTML), т.е. динамическое изменение
содержимого web-страницы, заключается именно в работе со
свойствами, методами и событиями объекта document (не считая
работы с окнами и фреймами).

                                        document.getElementsByTagName('P') -
                                        коллекция всех элементов (точнее,
                                        соответствующих им объектов) вида <P>,
                                        т.е. абзацев.
                                        document.getElementsByName('important')
                                        выдаст коллекцию (объектов) HTML-
                                        элементов любых типов, у которых был
                                        задан атрибут NAME="important"
                                        document.getElementById('id5') выдаст
                                        тот HTML-элемент (если их несколько, то
                                        первый), у которого был задан атрибут
                                        ID="id5".
Mind map. Подводим итоги
     Операторы языка
     {...}, if... else..., ()?, while,                          Типы данных
    for, break, continue, return;                          Литералы, переменные,
                  var, with                              массивы, функции, объекты


           Методы
        document.write()                             Объекты
Свойства               События                          window,                как    Функции
      href                onClick                      document
                                            ы
                                         вид
                                                                          Пользовательские
                                                                             function f (...) {...}

Клиентские                   Встроенные
                           Array, String, Date,
window, document,       Number, Function, Boolean,       Коллекции
 location, navigator               Math              forms[], images[], frames[]      Встроенные
                                                              Например
                                                     window.document.forms[4] -      document.write,
 Серверные                                             5-я форма на странице              alert
  Server, Project,      Пользовательские
    Client, File

Основы DHTML.

  • 1.
    Основы DHTML. Программируем формына Javascript Автор: Павел Сериков
  • 2.
    Типы данных Javascript 1)Литералы - данные, которые используются в программе непосредственно. А именно в присваивании значений переменным или в операциях сравнения. Например: числовые литералы — 10, 2.31, 2.3e+2, строковые литералы — 'строка', "строка" 2) Переменные - это области памяти, имеющие свое имя и хранящие некоторые данные. Объявляются с помощью оператора var. 3) Массивы - упорядоченные наборы данных, идентифицируемых с помощью одного или нескольких индексов. Делятся на встроенные (document.links[], document.images[] и т.п. — их еще называют коллекциями) и определяемые пользователем. Для определения массива пользователя существует специальный конструктор Array. Методы: join(), sort(), reverse(). 4) Функции - механизм многократного использования кода программы. Функция как тип данных определяется при помощи ключевого слова function. 5) Объекты - главный тип данных JavaScript. Любой другой тип данных имеет объектовую "обертку" (wrapper). Каждая функция является не только именем для группы операторов, но одновременно и объектом. Объекты же (пользовательские) создаются с помощью функций (конструкторов).
  • 3.
    Объектная модель документа (DOM — Document Object Model) Суть: каждому HTML-контейнеру соответствует объект. Обращение к методам, свойствам и событиям объекта осуществляется при помощи точечной нотации. Объект методы свойства события Определяют Атрибуты функции, Атрибуты HTML = контейнера с помощью свойства объекта расширяются которых Например: выполняются атрибуту HREF будет атрибутами действия соответствовать свойство обработки href этого объекта с этим объектом document.links[0].href='http://ya.ru/' события document.write() onClick
  • 4.
    Свойства, методы исобытия ● Свойства. Многие HTML-контейнеры имеют атрибуты. Как мы уже знаем, каждому контейнеру соответствует объект. При этом соответствии атрибутам отвечают свойства объекта. Соответствие между атрибутами HTML-контейнеров и свойствами DOM-объектов не всегда прямое. Обычно каждому атрибуту отвечает некоторое свойство объекта. Но, во- первых, название этого свойства не всегда легко угадать по названию атрибута, а во-вторых, у объекта могут быть свойства, не имеющие аналогов среди атрибутов. Кроме того, как мы знаем, атрибуты являются регистро-независимыми, как и весь язык HTML, тогда как свойства объектов нужно писать в точно определенном регистре символов. К свойствам можно также обращаться с помощью скобочной нотации: объект['свойство'] ● Методы объекта определяют функции, с помощью которых выполняются действия с этим объектом, например, изменение его свойств, отображения их на web-странице, отправка данных на сервер, перезагрузка страницы и т. п. Например, если у нас есть ссылка <A HREF="http://intuit.ru/">intuit</A> (будем считать, она первая в нашем документе), то у соответствующего ей объекта document.links[0] есть метод click(). Его вызов в любом месте JavaScript-программы равносилен тому, как если бы пользователь кликнул по ссылке, что демонстрирует пример: <A HREF="http://intuit.ru/">intuit</A><SCRIPT> document.links[0].click(); </SCRIPT> ● События. Кроме методов и свойств, объекты характеризуются событиями. Собственно, суть программирования на JavaScript заключается в написании обработчиков этих событий. Например, с объектом типа button (контейнер INPUT типа button — "кнопка") может происходить событие Click, т.е. пользователь может нажать на кнопку. Для этого атрибуты контейнера INPUT расширены атрибутом обработки этого события — onClick. В качестве значения этого атрибута указывается программа обработки события, которую должен написать на JavaScript автор HTML-документа.
  • 5.
  • 6.
    Коллекции в объектноймодели документа Коллекция — это структура данных JavaScript, похожая на массив. Отличие коллекции от массивов заключается в том, что массивы программист создает сам в коде программы и заполняет их данными; коллекции же создаются браузером и "населяются" объектами, связанными с элементами Web-страницы. Коллекцию можно рассматривать как другой, зачастую более удобный способ доступа к объектам Web-страницы.
  • 7.
    Объект document Объект documentявляется важнейшим свойством объекта window. Все элементы HTML-разметки, присутствующие на web-странице, — текст, абзацы, гиперссылки, картинки, списки, таблицы, формы и т.д. — являются свойствами объекта document. Можно сказать, что технология DHTML (Dynamic HTML), т.е. динамическое изменение содержимого web-страницы, заключается именно в работе со свойствами, методами и событиями объекта document (не считая работы с окнами и фреймами). document.getElementsByTagName('P') - коллекция всех элементов (точнее, соответствующих им объектов) вида <P>, т.е. абзацев. document.getElementsByName('important') выдаст коллекцию (объектов) HTML- элементов любых типов, у которых был задан атрибут NAME="important" document.getElementById('id5') выдаст тот HTML-элемент (если их несколько, то первый), у которого был задан атрибут ID="id5".
  • 8.
    Mind map. Подводимитоги Операторы языка {...}, if... else..., ()?, while, Типы данных for, break, continue, return; Литералы, переменные, var, with массивы, функции, объекты Методы document.write() Объекты Свойства События window, как Функции href onClick document ы вид Пользовательские function f (...) {...} Клиентские Встроенные Array, String, Date, window, document, Number, Function, Boolean, Коллекции location, navigator Math forms[], images[], frames[] Встроенные Например window.document.forms[4] - document.write, Серверные 5-я форма на странице alert Server, Project, Пользовательские Client, File