- •Формы html
- •Обработка данных формы
- •Поля ввода
- •Логические элементы
- •Передача данных формы на сервер
- •Примеры форм
- •Использование тега meta
- •Язык сценариев Java Script
- •Размещение Java Script в документе
- •Встроенные функции Java Script
- •Объектная модель Java Script
- •Обработчики событий JavaScript
- •Объекты Java Script Массивы
- •Объект window
- •Объект navigator
- •Объект history
- •Объект document
- •Объект form (массив forms)
- •Объект location
- •Объект link (массив links)
- •Объект image (массив images)
- •Массив elements
- •Объект text
- •Объект password
- •Объект fileUpload
- •Объект hidden
- •Объект checkbox
- •Объект radio
- •Объект submit
- •Объект reset
- •Объект button
- •Объект textarea
- •Объект select
- •Объект Option
- •Объект Date
- •Объект Math
- •Объект string
- •Примеры скриптов Обработка событий элементов формы.
- •Изменение картинки из формы
- •Использование таймера (скроллинг в строке статуса)
- •Гистограмма
- •Работа с окнами
- •Соответствие операторов и выражений языков Паскаль и Java Script.
- •Список использованной и рекомендуемой литературы
- •61070, Харьков-70, ул. Чкалова, 17
- •61070, Харьков-70, ул. Чкалова, 17
Гистограмма
Данный пример строит гистограмму по случайным значениям. Ни HTML, ни JavaScript не позволяют рисовать в окне браузера. Однако можно формировать картинку из маленьких изображений, хранящихся в файлах, с помощью объекта image.
Рис. 5. Гистограмма
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function d_rand() {
for(j=0;j<10;j++)
for(i=0;i<10;i++) {
y= Math.floor(Math.random()*10);
if (i>(9-y)) document.images[j+i*10].src = "blue.gif"
else document.images[j+i*10].src = "white.gif"
}}
</SCRIPT>
<BODY bgcolor=ffffff>
<CENTER>
<TABLE BORDER=0>
<TR>
<TD><img src="white.jpg" width=20 height=10></TD>
<TD><img src="white.jpg" width=20 height=10></TD>
.......
</TR>
<TR>
<TD><img src="white.jpg" width=20 height=10></TD>
<TD><img src="white.jpg" width=20 height=10></TD>
.......
</TR>
.......
<TR>
.......
<TD><img src="white.jpg" width=20 height=10></TD>
</TR>
</TABLE>
<FORM NAME=diagram>
<INPUT NAME=random TYPE=button VALUE="Гистограмма" onClick="d_rand()">
</FORM>
</CENTER>
</BODY>
</HTML>
Работа с окнами
1. Управление окном, из которого было открыто текущее окно. Чтобы закрыть окно-предшественник, нужно просто выполнить метод close для него:
window.opener.close();
а чтобы изменить, например, его цвета фона необходимо выполнить
window.opener.document.bgColor='cyan'.
2.Если вы используете фреймы, то поисковая система может выдать ссылку на документ, описанный внутри тега <FRAMESET>. Чтобы в этом случае автоматически загружать заглавную страницу с фреймами (index.htm) используйте скрипт:
<SCRIPT LANGUAGE="JavaScript">
if (self.parent.frames.length == 0) self.parent.location="index.htm";
</SCRIPT>
3. Боремся с чужими фреймами. Некоторые серверы, предоставляющие бесплатный хостинг, вставляют ваши документы в файл с фреймами, содержащими их рекламу. Если у вас нет фреймов, проверяем их наличие и если находим их, то загружаем в браузер наш документ.
<SCRIPT>
if (parent.frames[0]) { top.location.href="my_page.htm "; }
</SCRIPT>
Если у вас фреймы, то используем тот же скрипт, но вставляем его в файл, где описываются фреймы, до их описания.
4. Открытие гиперссылки в отдельном окне. Допустим, ваш документ имеет большой объем, содержит иллюстрации и ссылки на их увеличенные версии. Если вы будете просматривать изображения в том же окне, то повторная загрузка документа (даже из кеша браузера) каждый раз будет занимать довольно много времени. Обычно с помощью аттрибута target гиперссылку открывают в новом окне:
<A HREF="3_32.jpg" target="win1"> <IMG SRC="3_32_t.jpg" border=1 HEIGHT=111 WIDTH=182></A>.
Однако, если такое окно (в данном случае с именем "win1") уже существует, оно не получит фокус и останется скрытым - ваш пользователь не заметит изменений на экране монитора.
Чтобы каждый раз при загрузке нового документа окно получало фокус, можно использовать такой скрипт:
<SCRIPT LANGUAGE="JavaScript">
var op=0;
var win1;
function show_(fn) {
if (op && win1.closed) op=0;
if (op) {win1.document.location=fn; win1.focus(); }
else {op=1; win1=window.open(fn,"win1","scrollbars=1");}
return false;}
</SCRIPT>
......
<A HREF="3_32.jpg" target="win1" onClick="return show_(this.href);"> <IMG SRC="3_32_t.jpg" border=1 HEIGHT=111 WIDTH=182></A>.
В данном случае, если окно win1 существует, до в него загружается новый документ и оно получает фокус. Если окно еще не было создано или было закрыто, оно создается с помощью метода window.open. Функция show_() возвращает значение false, поэтому действие по умолчанию (переход по гиперссылке) не выполняется.
5. Создание нового окна браузера без панелей и строки для ввода адреса, без статуcной строки и полос прокруток, даже без меню навигации. Удобно, например, для просмотра картинки, которая целиком помещается на экран.
<a href="#1" onClick="window.open('http://адрес_странички_или_картинки', 'newWin', 'Toolbar=0, Location=0, Directories=0, Status=0, Menubar=0, Scrollbar=0, Resizable=0, Width=640, Height=480')"> <p> Текст вашей ссылки </a>
Приложение 1.
