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

Примеры скриптов Обработка событий элементов формы.

1. Проверка данных, введенных в форме:

<HTML>

<HEAD>

<SCRIPT>

function test_form() {

var ok = false;

if (document.Form1.email.value.length<3) { ok=false; alert('error 1'); }

else if (document.forms[0].elements[0].value.indexOf('@')==-1)

{ ok=false; alert('error 2'); }

else ok=true;

return ok;}

</SCRIPT>

</HEAD>

<BODY>

<FORM NAME="Form1" TARGET=_new>

your email <INPUT TYPE="text" NAME="email" VALUE="12@43"> <BR>

text <INPUT TYPE="text" NAME="data" onChange = "alert('change');"> <BR>

pass <INPUT TYPE="password" NAME="pass" VALUE='123' > <BR>

<BR>

<INPUT TYPE="submit" VALUE="Send form" onClick="return test_form();"> .

<INPUT TYPE="reset" VALUE="Clear form" onClick="return confirm('Clear form?');">

</FORM>

</BODY><HTML>

При нажатии кнопки reset выдается запрос пользователю на подтверждение очистки формы. При отрицательном ответе действие по умолчанию (очистка формы) не выполняется. Отмена достигается возвратом в обработчике значения false. Отмена действия по умолчанию для кнопки reset работает только в NN4.0 и выше.

При нажатии кнопки submit проверяется правильность ввода (адрес e-mail должен содержать '@' и иметь не менее трех символов). При ошибке выдается сообщение (функция alert()) и отменяется отправка формы на сервер.

Изменение картинки из формы

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

<HTML><HEAD></HEAD>

<BODY>

<IMG SRC='1.gif'><BR>

<FORM NAME="Form1" TARGET=_new>

<SELECT SIZE=4 onChange="document.images[0].src= this.options[this.selectedIndex].value">

<OPTION VALUE="1.gif">picture 1

<OPTION VALUE="2.gif">picture 2

<OPTION VALUE="3.gif">picture 3

</SELECT>

</FORM>

</BODY><HTML>

Объект this используется для доступа к текущему объекту, в данном случае - select. Если бы мы в обработчике onChange использовали вызов функции JavaScript, то в этой функции мы должны были бы использовать полную адресацию:

document.images[0].src=document.Form1.elements[0]. options[document.Form1.elements[0].selectedIndex].value.

Использование таймера (скроллинг в строке статуса)

<HTML><HEAD>

<SCRIPT>

var mesg0 = 'Ваше сообщение';

var i=0;

function sline() {

if (i<mesg0.length) {

i++;

window.status=mesg0.substring(0,i);

setTimeout('sline()',100);

} }

</SCRIPT>

</HEAD>

<BODY onload="sline()">......

</BODY></HTML>

В данном примере прокрутка сообщения начинается при загрузке документа и выполняется один раз. Обратите внимание на то, что функция setTimeout() планирует только одно событие (в данном случае вызов функции sline()), а не серию вызовов через указанный интервал времени.

Аналогичным образом можно, например, изменять изображение:

<SCRIPT>

var i=0;

function multi() {

if (i) document.images[0].src='2.gif';

else document.images[0].src='1.gif';

i=1-i; //изменение номера изображения

setTimeout('multi()',1000); }

</SCRIPT>

А вот реализация функции задержки с использование объекта Date. В качестве параметра функции передается длительность задержки в миллисекундах.

<SCRIPT>

function pause(mSec) {

clock = new Date();

justMinute = clock.getTime();

while (true) {

just = new Date();

if (just.getTime() - justMinute > mSec) break;

} }

</SCRIPT>

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