Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
labrab_6.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
573.19 Кб
Скачать

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего

профессионального образования

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТОМСКИЙ

ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

УТВЕРЖДАЮ

Зав. каф. ОСУ

Канд. техн. наук, доцент

______________О.Б.Фофанов

"_____" _____________________ 20__ г.

Компьютерный практикум

Методические указания к лабораторным работам

для студентов направления 230700 Прикладная информатика

2013

1

Оглавление

HTML-элементы для создания интерактивных приложений (формы). Внешние скрипты. ...............  3

JavaScript: работа с функциями. ................................................................................................................  3

Цель работы:............................................................................................................................................  3

Практическое задание...........................................................................................................................  14

Контрольные вопросы к лабораторной работе 6 ...............................................................................  15

2

ЛАБОРАТОРНАЯ РАБОТА  6

HTML-элементы для создания интерактивных приложений (формы). Внешние скрипты.

JavaScript: работа с функциями.

Цель работы:

 знакомство с HTML-элементами для создания форм и меню;

 дальнейшее изучение языка JavaScript.

Теоретическая часть

Формы

Формы - замечательная возможность HTML, позволяющая с привлечением довольно

небольшого количества усилий разработчика организовать взаимодействие пользователей с

программами . Данные, введенные в форму, могут обрабатываться на стороне клиента с помощью

сценариев.

Создание формы

Для вставки формы в HTML-документ используется элемент FORM. Он задается парными

тегами <FORM> и </FORM>. Между этими тегами помещаются описания элементов управления

формы. Также здесь может быть помещен и другой текст с использованием разметки средства ми

HTML. Этот текст обычно используется для пояснения, какие данные и в какой элемент

управления нужно вводить.

Стандартные элементы управления

Стандартными являются все элементы управления, которые можно поместить на HTML-

форму (однострочное текстовое поле, поле для ввода пароля, флажки, переключатели, кнопки как

пользовательские, так и выполняющие стандартные действия, поля имен файлов и т.д.). Все

упомянутые элементы управления отображаются браузером Internet Explorer так, как показано на

рис. 1.

Рисунок 1 - Стандартные элементы управления

Для обозначения всех этих элементов управления используется один HTML-элемент -

INPUT. Этот элемент задается одиночным тегом <INPUT> и имеет следующие атрибуты:

type - принимает строку, задающую тип элемента управления (по умолчанию используется

строка text и создается соответственно поле для ввода текста), возможные значения и специфика

работы соответствующих элементов управления рассмотрены далее;

name - используется для задания имени элементу управления (строка, которая помимо

идентификации элемента управления добавляется в данные, отсылаемые серверу);

value - начальное значение для полей ввода текста и полей для указания имен файлов, так-

же используется как надпись таких элементов управления, как кнопки; необязательно для всех

элементов управления, кроме флажков и переключателей;

checked — булевый атрибут, если он установлен, то флажок или переключатель считается

(и отображается браузером) установленным (см. рис. 1);

3

4

Таблица 1 - Значения атрибута type

Значения

атрибута

Особенности

text

Создается однострочное текстовое поле. Значение атрибута value отображается в

качестве текста по умолчанию. Атрибут size воспринимается как количество

символов, которое может отображаться в поле без необходимости горизонтальной

прокрутки текста. Атрибут maxlength задает максимальное количество символов,


disabled — булевый атрибут, установка которого не позволяет пользователю работать с эле-

ментом управления;

readonlу — булевый атрибут, позволяет запретить изменение состояния элемента

управления (работает только для текстовых полей и поля выбора файла, так что для остальных

элементов управления лучше использовать атрибут disabled);

size — задает размер элемента управления (единицы измерения и действие специфичны для

разных элементов управления);

maxlength — задает максимальную длину текста, который может быть введен в текстовые

поля (положительное численное значение);

src — для элемента управления image задает расположение используемого изображения;

title — описание элемента управления (может отображаться браузерами как всплывающая

подсказка);

align — задает горизонтальное выравнивание элемента управления, работает так же, как и

для любого другого HTML-элемента, поддерживающего этот атрибут;

tabindex - номер элемента управления при навигации при помощи табуляции;

acсesskey - «горячая» клавиша для элемента управления (для перехода к элементу управ-

ления нужно нажать Аlt и заданную клавишу).

После того как дано начальное описание элемента INPUT, можно проанализировать текст

HTML-документа с формой, показанной на рис. 1.

Пример. Пример использования HTML-элемента INPUT

<TITLE>Типы элементов управления INPUT </TITLE>

<FORM>

Текстовое поле <INPUT type="text" name ="type_texf"> <BR>

Поле для ввода пароля: <INPUT type="password" name="type_password" alt =

"asfdsvdf"> <BR>

Флажок: <INPUT type="checkbox" name="type_check" value = "chk1" checked>

<BR>

два переключателя: <INPUT type="radio" name="type_radio" value="1" checked>

и <INPUT type="radio" name="type_radio" value="2" alt = "asfdsvdf"> <BR>

Поле с именами файлов: <INPUT type = "file" name = "type_file"> <BR>

<INPUT type = "submit" value = "Отправка данных"> <BR>

Щелчок на этом изображении также приведет к отправке данных:

<INPUT type = "image" src = "submit.gif" alt = "asfdsvdf"> <BR>

<INPUT type = "reset" value = "Сброс значений полей"> <BR>

<INPUT type = "button" value = "Пользовательская кнопка" alt = "asfdsvdf">

</FORM>

В приведенном примере заданы все возможные значения атрибута type, кроме значения

hidden. Поскольку использование каждого из значений атрибута type налагает различные ог -

раничения на применение других атрибутов HTML-элемента INPUT , то целесообразно рассмот -

реть влияние каждого значения подробно. Для краткости особенности использования каждого

значения сведены в таблицу (табл.1).

Атрибут size упоминался только для элементов управления, имеющих в своем составе

текстовые поля. Это потому, что хотя для остальных элементов управления этот атрибут и должен

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

но трудно найти браузер, который бы это поддерживал.

которые могут быть введены в поле

password

Действие этого значения аналогично действию значения text, но дополнительно

скрывается    вводимый    пользователем    текст    (заменяется    символами    «*»).

Используется для ввода конфиденциальной информации типа паролей

checkbox

Создает элемент управления флажок. Задавать значение атрибута value нужно

обязательно, так как именно это значение отправляется серверу, если флажок

установлен. Можно использовать несколько элементов управления checkbox с

одинаковым значением атрибута name для обеспечения возможности задания

нескольких значений одного свойства

radio

Создает переключатель. Имеет смысл использовать как минимум два этих

элемента управления вместе, объединенных в группу, с заданием одного и того же

значения атрибута name. Тогда у пользователя появляется возможность выбора

одного из нескольких вариантов (одновременно можно установить только один

переключатель в группе). Значение атрибута value задавать также обязательно, оно

используется аналогично элементу управления checkbox

file

Создает поле для ввода имени файла с возможностью выбора файла с помощью

диалогового окна открытия файла или без него, что зависит от браузера.

Содержимое выбранного файла или файлов пересылается вместе с формой, для

корректной работы необходима установка значения атрибута method формы в post,

a enctype — в multipart/form-data. Значение атрибута value используется как имя

файла по умолчанию. Значение атрибута size задается и работает аналогично

элементу управления text

submit

Создает кнопку, при нажатии которой браузер отправит форму. Значение атрибута

value задает надпись на кнопке

image

Создает изображение, при щелчке на котором произойдет отправка формы

браузером. При этом на сервер передаются также координаты указателя мыши

относительно левого верхнего угла изображения. Атрибут src задает расположение

используемого изображения

reset

Создает кнопку, при нажатии которой значения всех элементов управления будут

заменены значениями по умолчанию. Значение value задает надпись на кнопке

button

Создает пользовательскую кнопку. При нажатии или другом действии с кнопкой

может    выполняться    ассоциированный    сценарий.    Значение    атрибута    value

используется     как     надпись     на     кнопке.     Подробно     создание     сценариев,

ассоциирование их с элементами управления и не только будет рассмотрено далее

hidden

Создает скрытый элемент управления. Для него задаются атрибуты name и value.

Пользователь не видит и не может изменить содержимое этого элемента

управления. Однако данные скрытого элемента управления отправляются серверу

вместе с остальными данными формы


Многострочное текстовое поле

Теперь рассмотрим, как вставить в форму более «продвинутый» элемент управления для

редактирования текста — многострочное текстовое поле. Обозначается этот элемент управления

HTML-элементом TEXTAREA и задается парными тегами <TEXTAREA> и </TEXTAREA>.

Главным отличием этого элемента управления от обычного текстового поля, кроме

возможности ввода текста, состоящего из большого количества строк, является то, что начальное

значение не задается атрибутом value, а записывается между тегами < TEXTAREA > и

</TEXTAREA>.

В целом для настройки элемента TEXTAREA используются те же атрибуты, что и для

настройки элемента INPUT со значением атрибута type, равным text или password. Однако размер

элемента управления задается не атрибутом size, а с помощью следующих атрибутов:

Rows – задает количество строк, которые отображаются без необходимости вертикальной

прокрутки;

5

Cols – задает максимальное количество символов в строке текстового поля, отображаемое

без переноса.

Пример. Создание многострочного текстового поля

<TEXTAREA name = "txtText" rows = 6 cols =40>

Первый перевод строки не учитывается

Все последующие переводы строки

учитываются

Учитываются также отступы от начала строки

Можно использовать зарезервированные символы HTML, типа <>& и прочие

</TEXTAREA>

Создание JavaScript – функций. Внешний скрипт.

Функция - это именованная последовательность операторов (инструкций). Любая функция

имеет следующий синтаксис:

function имя (){

оператор;

.......

оператор;

}

Сначала идет ключевое слово function, затем имя функции, затем в круглых скобках

перечисляются параметры (если они есть), затем в фигурных скобках перечисляются операторы,

т.е. последовательность выполняемых действий. Каждый оператор заканчивается точкой с

запятой.

Рассмотрим процедуру создания и использования функций на примере разработке внешних

скриптов.

Создайте html-страницу, файл script.js для функций (данный файл можно создать в

Блокноте, только сохранить его с расширением js) и подключите файл внешнего скрипта к html-

странице с помощью тега <script>.

Поместим в html-страницу следующий код:

<html>

<head>

<title>Заголовок документа</title>

<script type="text/javascript" src="script.js"></script>

</head>

<body>

<div onClick="showMessage();">Щелкни меня</div>

</body>

</html>

В данном примере указали, что при щелчке пользователя по div (т.е. по словам "Щелкни

меня") должна быть вызвана функция с именем "showMessage". Теперь в файле script.js надо

написать саму функцию "showMessage". Открываем файл script.js и пишем:

function showMessage(){

alert ("Вы щелкнули по div");

}

Функция "showMessage" будет выполнять одно действие - отображать окно

предупреждений с текстом "Вы щелкнули по div".

Откройте html-страницу с помощью браузера и щелкните по div. На экране появиться окно

с сообщением «Вы щелкнули по div».

Таким образом, механизм работы обработки событий можно в общем виде представить так:

6

1. В html-странице привязываем к нужному элементу обработчик события (onClick,

onMouseUp и т.д.), в качестве значения которого указываем имя функции, которая и должна

сработать, когда настанет событие.

2. В файле с расширение .js пишем код этой функции, т.е. инструкции, которые должны

быть выполнены, если функция инициализирована (к ней обратились).

Давайте усложним задачу и напишем сценарий, который будет рассчитывать площадь

прямоугольника по введенным пользователем длине и ширине. Для этого сначала разместим на

html-странице нужные элементы формы:

<html>

<head>

<title>Расчет площади прямоугольника</title>

<script type="text/javascript" src="script.js"></script>

</head>

<body>

<form name="forma1">

Введите длину прямоугольника <input type="text" name="t1" size="10"><br><br>

Введите ширину прямоугольника <input type="text" name="t2" size="10"><br><br>

<input type="button" name="button" value="Вычислить"><br><br>

Площадь прямоугольника равна <input type="text" name="res" size="10">

</form>

</body>

</html>

В браузере наша страница будет выглядеть так:

Итак, пользователь вводит значения ширины и длины и нажимает на кнопку "Вычислить".

После чего, в поле площадь должен появиться результат. Таким образом, событие наступает при

нажатии на кнопку "Вычислить", значит именно к ней и привяжем обработчик события. Функцию

вычисления площади назовем "areaRectangle":

.......

<input type="button" name="button" value="Вычислить"

onClick="areaRectangle();"><br><br>

.......

Теперь напишем саму функцию "areaRectangle". Для этого откроем файл script.js и

напишем заготовку для функции:

function areaRectangle(){

}

Теперь надо написать тело функции. Для начала объявим три переменные:

a - значение длины прямоугольника,

7

b - значение ширины прямоугольника,

s - площадь прямоугольника:

function areaRectangle(){

var a;

var b;

var s;

}

Значение (value) a должно браться из текущей страницы (document), из формы с именем

"forma1", из текстового поля с именем "t1". Так это и записывается document.forma1.t1.value,

т.е. перечисляются через точку имена объектов от родительского до нужного. Последним

указывается необходимое свойство объекта (value).

Аналогично запишем для значения b - document.forma1.t2.value.

Переменная s - есть произведение a на b. Запишем это в тело функции:

function areaRectangle(){

var a=document.forma1.t1.value;

var b=document.forma1.t2.value;

var s=a*b;

}

Осталось только написать инструкцию записи вычисленной площади в текстовое поле с

именем "res" на форме. Т.е необходимо, чтобы в текущую страницу, в форму с именем "forma1", в

текстовое поле с именем "res", в качестве значения (value) было присвоено значение s. Запишем

это в функции:

function areaRectangle(){

var a=document.forma1.t1.value;

var b=document.forma1.t2.value;

var s=a*b;

document.forma1.res.value=s;

}

Иными словами, сначала присвоили переменным a и b значения из формы, затем произвели

необходимые расчеты, а после этого присвоили некоторому элементу формы полученное

значение s.

Проверим работу html-страницы в браузере. Если все сделали правильно, то должно на

экране появиться следующее:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]