Джо Бернс Урок 5. Еще несколько обработчиков событий.
Концепция
Сейчас вы уже представляете себе, что такое некоторые события и команды, которые ими управляют. Давайте рассмотрим, как действуют другие. Все они работают по одной схеме. Так что
если вам не чужда логика, вы легко сможете поместить их на свои страницы.
Команды и эффекты
Команда onClick (на щелчок)
Вы уже знаете, что onMouseOver запускает событие, если навести курсор на ссылку. Следовательно, щелкнув по ссылке, можно с таким же успехом запустить событие через onClick.
Чтобы продемонтрировать действие команды, я воспользуюсь методом alert. Если вы сделали задание к прошлому уроку, то знаете, что это такое. Вот еще раз его схема:
alert('текст, который появится в окне')
Таким образом, получаем:
<a href="Урок5.htm" onClick="alert('Перейдете в начало Урока 5!');">Жмите сюда</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 (отослать, отправить). Многим очень хочется, чтобы после того, как пользователь нажимает на кнопку Submit, у него на экране появлялась страница с надписью: "Спасибо, что вы нам написали".
Формат такой:
<form>
<input TYPE="submit"
onSubmit="parent.location='thanksalot.html'";>
</form>
Вот что у вас выходит (щелкайте по кнопке):
Поглядите, у нас новая команда. Схема как будто знакомая, но какая-то странная.
parent.location — это стандартная схема ссылки на другую страницу. Можно подумать, что parent (источник) — это объект, а location (местонахождение) — метод. Неверно. В данном случае parent является свойством более общего объекта - окна браузера, а location — объектом, который появится в этом окне. То есть, для ясности просто имейте в виду, что parent.location='' означает ссылку.
Команды onLoad и onUnload (на вход и выход)
Пока я не привожу примера на эти команды, так как им отведен отдельный урок, однако я счел необходимым их упомянуть. Обе они помещаются внутри строки HTML <BODY>. Они вызывают событие, когда страница открывается или закрывается, то есть, когда вы уходите со страницы. Когда мы возьмемся за функции, эти команды нам потребуются.
Ваше задание
На этот раз я предлагаю вам создать форму, которая будет взаимодействовать с
пользователем. Форма должна иметь три элемента:
- поле ввода с просьбой ввести имя;
- два поля для флажков с вопросом о том, что больше нравится пользователю, мороженое или шоколад;
- кнопку отправки данных.
С каждым элементом должно произойти следующее:
- При вводе имени в строке состояния должны появиться слова: "Впишите сюда свое имя".
- Два поля с флажками должны отослать в строку состояния слова: "Вы выбрали..." и выбор пользователя.
- При нажатии на кнопку должно выскочить окно предупреждения, благодарящее пользователя за участие в опросе.
Назад | Содержание | Вперед
|

Джо Бернс
Введение
Сообщения об ошибках
Дата и время
Команда onMouseOver
Еще обработчики событий
Запрос пользователю
Концепция свойств
Иерархия объектов
Создание функции
onUnload и onMouseOut
Новые окна
Новые окна (прод.)
Метод confirm
Математ. переменные
Смена картинки
Смена через функцию
Функция внутри формы
Форма и свойство value
Данные в функцию
Случайные числа
Введение в if
If и Else
Случайный выбор
Введение в FOR
Введение в WHILE
Введение в массивы
Слайд-шоу
Анимация
Подтверждение ввода
|