
- •Язык сценариев JavaScript Диалоговое окно (prompt)
- •Окно с сообщением (alert)
- •Условный оператор
- •Оператор switch и его свойства
- •День недели
- •Оператор цикла арифметического типа
- •Массивы
- •Функция определения выходного/рабочего дня
- •События
- •Обработка значений из формы
- •Передача параметров по ссылке
- •Использование имени формы в качестве параметра функции
- •Иерархия объектов в JavaScript
- •Объект location
- •Определение выделенного элемента
- •Расположение текста и изображения в ячейке таблицы
- •Текстовая область
- •Свойства переключателя
- •Расписание занятий
- •Выбор характеристик издания
- •Использование флажков в анкете переводчика
- •Использование атрибута id
- •Раскрывающиеся списки
- •Использование списка в задаче оформления заказа на витражи
- •Использование списка в анкете переводчика
- •Обработка анкеты переводчика
- •Задание № 1
- •Задание № 2
- •Задание № 3
- •Число k должно вводится через диалоговое окно JavaScript и отображаться на экране перед таблицей.
- •Задание № 4
- •Задание № 5
Массивы
Массив представляет собой набор элементов, доступ к которым осуществляется по индексу. Массив создается оператором new и конструктором массива — системной функцией Array. Создать массив из названий дней недели можно, например, следующим образом:
var NDays = new Array("воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота")
В качестве параметров конструктору передаются значения элементов массива. Можно создать массив, указав в нем лишь число элементов, например, так:
var Ndays1 = new Array(7)
И, наконец, можно использовать конструктор без параметра:
var Ndays2 = new Array()
В этом случае определяется лишь, что переменная Ndays2 используется в качестве массива.
Все элементы массива перенумерованы, начиная с нуля. Для получения значения элемента массива необходимо задать имя массива и в квадратных скобках порядковый номер элемента. Для того чтобы получить доступ к первому элементу массива, следует воспользоваться конструкцией Ndays[0].
Свойство length позволяет определить число элементов в массиве или, как говорят, длину массива. Доступ к последнему элементу массива можно осуществить, например, следующим образом:
Ndays[Ndays.length-1]
При описании переменной Ndays1 задана только длина массива. Значения элементов массива можно указать с помощью оператора присваивания:
Ndays[0]="воскресенье" Ndays[1]="понедельник" Ndays[2]="вторник" Ndays[2]="среда" Ndays[2]="четверг" Ndays[2]="пятница" Ndays[6]="суббота"
Функция определения выходного/рабочего дня
Напишем функцию, которая по строке, являющейся названием дня недели, определяет, является ли этот день выходным или рабочим:
function grd(s); { var res="рабочий" if ((s==NDays[0]) || (s==NDays[6])) res="выходной" return res }
События
Действие пользователя (например, щелчок кнопкой мыши) вызывает событие. События в основном связаны с действиями, производимыми пользователем с элементами форм HTML. Обычно перехват и обработка события задается в атрибутах элементов форм. Имя атрибута обработки события начинается с приставки on, за которой следует имя самого события. Например, атрибут обработки события Submit будет выглядеть как onSubmit.
После щелчка на кнопке Reset запускается обработчик событий onReset. Для создаваемых произвольных кнопок запускается обработчик событий onClick. Приведенный ниже код представляет простой пример программы обработки события onClick:
<form> <input type="button" value="Проверьте этот пример" onClick="alert('Это текст')"> </form>
Начало формы
Конец формы
Здесь мы создаем некую форму с кнопкой. Атрибут onClick= определяет, что происходит, когда нажимают на кнопку. Таким образом, если имеет место событие Click, компьютер должен выполнить вызов alert('Это тест'). Причём в этом случае даже не нужно использовать команду <script>.
Обратите внимание, что здесь (как и в листинге 1) значение атрибута onClick="..." взято в двойные кавычки, поэтому строка в функции alert('Это текст') — уже в одинарные кавычки.
Вы можете использовать в скрипте множество различных типов функций обработки событий.
К базовым событиям, поддерживаемым в JavaScript, относятся:
Событие |
Объекты |
Когда происходит событие |
onAbort |
image |
Отказ от загрузки изображения |
onBlur |
windows, элементы формы |
Потеря объектом фокуса |
onChange |
text, textarea, select |
Изменение значения элемента |
onClick |
button, radio, checkbox, submit, reset, link |
Щелчок на элементе или связи |
onDragDrop |
windows |
Перетаскивается мышью объект в окно браузера |
onError |
image, windows |
Ошибка при загрузке документа или изображения |
onFocus |
windows, элементы формы |
Окно или элемент формы получает фокус (т.е. при щелчке по элементу формы) |
onKeyDown |
document, image, link, textarea |
Нажатие клавиши клавиатуры |
onKeyPress |
document, image, link, textarea |
Удержание нажатой клавиши клавиатуры |
onKeyUp |
document, image, link, textarea |
Отпускаются клавиши клавиатуры |
onLoad |
Тело документа |
Загружается документ в браузер |
onMouseDown |
document, button, link |
Нажатие кнопки мыши |
onMouseOut |
area, link |
Перемещение курсора из области гиперссылки |
onMouseOver |
link |
Перемещение курсора над гиперссылкой |
onMouseUp |
document, button, link |
Отпускается кнопка мыши |
onMove |
windows |
Пользователь или сценарий перемещает окно |
onReset |
form |
Нажатие кнопки Reset формы |
onResize |
windows |
Пользователь или сценарий изменяет размеры окна |
onSelect |
text, textarea |
Выбирается поле ввода элемента формы |
onSubmit |
form |
Нажатие кнопки Submit формы |
onUnload |
Тело документа |
Пользователь закрывает документ |
Предположим, что мы хотим создать форму, в которой поля Основание и Высота служат для ввода соответствующих значений. Кроме того, в форме создадим кнопку Вычислить. При щелчке мышью по этой кнопке мы хотим получить значение площади треугольника.
Значением атрибута обработки события могут быть операторы языка JavaScript. В качестве значения атрибута обработки события можно задать вызов функции, которая должна выполняться при возникновении события, определяемого атрибутом обработки события. В этом случае может быть использована следующая форма:
<FORM name="form1"> Основание: <input type="text" size=5 name="st1"><hr> Высота: <input type="text" size=5 name="st2"><hr> <input type="button" value="Вычислить" onClick="square(document.form1.st1.value, document.form1.st2.value)"> </FORM>