
- •1 Подключение скриптов
- •2 Основы языка javascript
- •2.1 Введение
- •2.2 Дата и время
- •2.3 Команда onMouseOver
- •2.4 Еще несколько обработчиков событий
- •2.5 Запрос пользователю и переменные
- •2.6 Создание функции
- •2.7 Команды onUnload и onMouseOut
- •2.7 Новые окна
- •2.8 Новые окна через функцию
- •Это делает скрипт
- •2.9 Метод confirm (введение в if и else)
- •2.10 Смена картинки через onMouseOver
- •2.11 Смена картинок через функции
- •2.12 Функция внутри формы
- •2.13 Поля форм и свойство value
- •2.14 Передача данных в функцию
- •Разбор скрипта начнем с элементов формы:
- •2.15 Слайд-шоу
- •2.16 Проверка данных, введенных в форму
2.4 Еще несколько обработчиков событий
Вы уже представляете себе, что такое некоторые события и команды, которые ими управляют. Давайте рассмотрим, как действуют другие. Все они работают по одной схеме.
Команда onClick (на щелчок)
Вы уже знаете, что onMouseOver запускает событие, если навести курсор на ссылку. Следовательно, щелкнув по ссылке, можно с таким же успехом запустить событие через onClick. Чтобы продемонстрировать действие команды, воспользуемся методом alert (см. пример 2.4). Вот еще раз его схема: alert('текст, который появится в окне')
Таким образом, получаем:
<a href="http://www.newmail.ru" onClick="alert('Уже уходите!');"> Жмите сюда</a>
Команда onFocus (на фокус)
Эта команда вызывает действие, когда пользователь «фокусируется» на элементе страницы. Это годится для форм: флажков (checkbox) и текстовых полей (textbox). Вот пример:
<form> <input type="text" size="30" onFocus="window.status='Текст в строке состояния';"> </form>
Конец формы
Команда onBlur (на потерю фокуса)
Если можно сосредоточиться на объекте, значит, можно и «потерять фокус». оnBlur позволяет сообщить пользователю о том, что он изменил свой ответ. Этот обработчик не так часто используется, но вот вам пример. Строка для ввода текста, в которой уже что-то написано. Если изменить текст и увести курсор, как если бы вы перешли к следующему предмету в списке, появится окно с предупреждением. Вот как это делается:
<form> <input type="text" size="45" value="Впишите свое имя и щелкните по другой строке" onBlur="alert('Вы изменили ответ — уверены, что он правильный?');"> </form>
Команда onChange (на изменение)
Действие этой команды очень похоже на действие предыдущей, onBlur. Ее главная задача - проверка. Когда мы ближе познакомимся с формами, это станет понятнее. Этот обработчик события проверяет, сделал ли пользователь то, что вы от него просили. Пример очень похож на предыдущий, но действует все-таки по-другому.
<form> <input TYPE="text" size="45" value="Измените текст и щелкните по другой строке" onChange="window.status='Текст был изменен';"> </form>
Конец формы
Команда onSelect (на выделение)
Эта команда работает так же, как и три предыдущие, отмечая, что в поле ввода произошли изменения, — в данном случае был выделен текст.
Команда onSubmit (на отправку)
Это очень популярная команда. Она позволяет вызвать какое-либо действие, когда вы нажимаете кнопку Submit (отослать, отправить). Многим очень хочется, чтобы после того, как пользователь нажимает на кнопку, у него на экране появлялась страница с надписью: «Спасибо, что вы нам написали». Формат такой:
<form> <input TYPE="submit" onSubmit="parent.location='thanksalot.html'";> </form>
Обратите внимание - у нас новая команда. Схема как будто знакомая, но какая-то странная. parent.location — это стандартная схема ссылки на другую страницу. Можно подумать, что parent (источник) — это объект, а location (местонахождение) — метод. Неверно. В данном случае parent является свойством окна браузера, а location — объектом, который появится в этом окне.
Рассмотренные выше команды приведены в примере 2.5, а результат на рис. 2.5.
Пример 2.5. Обработчики событий |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>Обработчики событий</TITLE> </HEAD> <BODY> <P align=center> <a href="http://www.newmail.ru" onClick="alert('Уже уходите!');"> Жмите сюда</a> <form> <input type="text" size="30" onFocus="window.status='Текст в строке состояния';"> </form> <form> <input type="text" size="45" value="Впишите свое имя и щелкните по другой строке" onBlur="alert('Вы изменили ответ — уверены, что он правильный?');"> </form> <form> <input TYPE="text" size="45" value="Измените текст и щелкните по другой строке" onChange="window.status='Текст был изменен';"> </form> <form> <input TYPE="submit" onSubmit="parent.location='thanksalot.html'";> </form> </BODY> </HTML>
|