Опубликован: 19.10.2006 | Уровень: для всех | Доступ: платный
Лекция 6:

Еще несколько обработчиков событий

< Лекция 5 || Лекция 6: 12 || Лекция 7 >

Команда onSubmit

Это очень популярная команда. Она позволяет вызвать какое-либо действие, когда вы нажимаете кнопку Submit (отослать, отправить). Когда пользователь нажимает на эту кнопку, команда выведет на экран страницы текст: "Спасибо, что вы нам написали".

Формат команды следующий:

<FORM>
<INPUT TYPE="submit"
onSubmit="parent.location='спасибо.html'";>
</FORM>

Здесь используются новые команды. Схема как будто знакомая, но какая-то странная.

parent.location — это стандартная схема ссылки на другую страницу. Можно подумать, что parent (источник) — это объект, а location (местонахождение) — метод. Неверно. В данном случае parent является свойством окна браузера, а location — объектом, который должен появиться в этом окне. То есть для ясности просто имейте в виду, что parent.location='' означает ссылку.

Команды onLoad и onUnload

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

Обе они помещаются внутрь команды <BODY> документа HTML. Они вызывают событие, когда страница открывается или закрывается, то есть когда пользователь уходит со страницы. Эти команды будут очень полезны при работе с функциями.

Задание

В этом задании предлагается создать форму, которая будет взаимодействовать с пользователем (для этого необходимо знать о командах формы).

Форма должна иметь три элемента: поле ввода с просьбой ввести имя; два поля для флажков с вопросом о том, что предпочитает пользователь — мороженое или шоколад; кнопку отправки данных (submit).

С каждым элементом должно произойти следующее.

  • При вводе имени в строке состояния должны появиться слова: Введите свое имя.
  • Два поля с флажками должны отослать в строку состояния слова: Вы выбрали... и выбор пользователя.
  • При нажатии на кнопку отправки должно появиться окно с благодарностью пользователю за участие в опросе.

Возможное решение

Это можно сделать с помощью следующего сценария:

<FORM action="">

Name: <INPUT TYPE="text" SIZE="30" 
  onFocus="window.status='Введите свое имя';">
Что вы предпочитаете: 
<INPUT TYPE="checkbox" 
  onClick="window.status='Вы выбрали шоколад';"> 
  	Шоколад
<INPUT TYPE="checkbox"  
  onClick="window.status='Вы выбрали мороженое';"> 
  	Мороженое 
<INPUT TYPE="submit" 
  onClick="alert('Спасибо за участие в опросе');">

</FORM>
< Лекция 5 || Лекция 6: 12 || Лекция 7 >
Елена Сапегова
Елена Сапегова

После прохождения теоретической части пришло письмо об окончании теоретической части курса, будет ли практическая часть?

Эдуард Семынин
Эдуард Семынин

Здравствуйте.

Перестали быть видны лекции и тесты практикума по программированию на JavaScript. Уже второй день из моего аккаунта виден лишь план занятий. В чем может быть проблема?