Вход/Регистрация
JavaScript. Подробное руководство, 6-е издание
вернуться

Флэнаган Дэвид

Шрифт:

Обработчик событий

onreset
похож на обработчик
onsubmit
. Он вызывается непосредственно перед сбросом формы в исходное состояние и может предотвратить сброс элементов формы, вернув значение
false
. Кнопки
Reset
редко используются в формах, но если у вас имеется такая кнопка, возможно, у вас появится желание запросить у пользователя подтверждение, прежде чем выполнить сброс:

<form...

onreset="return confirm('Bы действительно хотите сбросить все и начать сначала?')">

<button type="reset">Очистить поля ввода и начать сначала</button>

</form>

Подобно обработчику

onsubmit
, обработчик
onreset
вызывается только в случае щелчка мышью на кнопке
Reset
. Вызов метода
reset
формы не приводит к вызову обработчика
onreset
.

Элементы форм обычно возбуждают событие

click
или
change
, когда пользователь взаимодействует с ними, и вы можете реализовать обработку этих событий, определив обработчик
onclick
или
onchange
. В третьем столбце таблицы 15.1 для каждого элемента формы указан основной обработчик событий. Вообще говоря, элементы форм, являющиеся кнопками, возбуждают событие
click
в момент активации (даже когда активация производится посредством нажатия клавиши на клавиатуре, а не щелчком мышью). Другие элементы форм возбуждают событие
change
, когда пользователь изменяет содержимое, представляемое элементом. Это происходит, когда пользователь вводит текст в текстовое поле или выбирает элемент раскрывающегося списка. Обратите внимание, что это событие возбуждается не каждый раз, когда пользователь нажимает клавишу, находясь в текстовом поле ввода. Оно возбуждается, только когда пользователь изменит значение элемента и перенесет фокус ввода в другой элемент. То есть этот обработчик событий вызывается по завершении ввода. Радиокнопки и флажки являются кнопками, хранящими информацию о своем состоянии, и все они возбуждают события
click
и
change
; из них событие
change
имеет большее практическое значение.

Элементы форм также возбуждают событие

focus
, когда они получают фокус ввода, и событие
blur
, когда теряют его.

Важно знать, что внутри обработчика события ключевое слово

this
всегда ссылается на элемент документа, вызвавший данное событие (подробнее об этом будет рассказываться в главе 17). Во всех элементах форм имеется свойство
form
, ссылающееся на форму, в которой содержится элемент, поэтому обработчики событий элемента формы всегда могут обратиться к объекту
Form
, как к
this.form
. Сделав еще один шаг, мы можем сказать, что обработчик событий для одной формы может ссылаться на соседний элемент формы, имеющий имя х, как
this.form.х
.

15.9.4. Кнопки

Кнопки являются одними из наиболее часто используемых элементов форм, т. к. они предоставляют понятный визуальный способ вызова пользователем какого-либо запрограммированного сценарием действия. Элемент кнопки не имеет собственного поведения, предлагаемого по умолчанию, и не представляет никакой пользы без обработчика события

onclick
. Кнопки, определяемые с помощью элементов
<input>
, отображают простой текст, содержащийся в их свойстве
value
.

Кнопки, определяемые с помощью элементов

<button>,
отображают содержимое элемента.

Обратите внимание, что гиперссылки предоставляют такой же обработчик событий

onclick
, как и кнопки. Когда действие, выполняемое обработчиком
onclick
, можно классифицировать как «переход по ссылке», используйте ссылку. В противном случае используйте кнопку.

Элементы

Submit
и
Reset
очень похожи на элементы-кнопки, но имеют связанные с ними действия, предлагаемые по умолчанию (передача или очистка формы). Если обработчик событий
onclick
возвращает
false
, стандартное действие этих кнопок, предусмотренное по умолчанию, не выполняется. Обработчик
onclick
элемента
Submit
можно использовать для проверки введенных значений, но обычно это делается в обработчике
onsubmit
самой формы.

В четвертой части книги нет описания элемента

Button
. Описание всех элементов-кнопок, включая описание элементов, создаваемых с помощью тега
<button>,
вы найдете в разделе, посвященном элементу
Input
.

15.9.5. Переключатели и флажки

Флажки и радиокнопки имеют два визуально различимых состояния: они могут быть либо установлены, либо сброшены. Пользователь может изменить состояние такого элемента, щелкнув на нем. Радиокнопки обычно объединяются в группы связанных элементов, имеющих одинаковые значения HTML-атрибута

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

И флажки, и переключатели имеют свойство

checked
. Это доступное для чтения и записи логическое значение определяет, отмечен ли элемент в данный момент. Свойство
defaultChecked
представляет собой доступное только для чтения логическое значение, содержащее значение HTML-атрибута
checked
: оно определяет, должен ли элемент отмечаться, когда страница загружается в первый раз.

Флажки и радиокнопки сами не отображают какой-либо текст и обычно выводятся вместе с прилегающим к ним HTML-текстом (или со связанным тегом

<label>
). Это значит, что установка свойства
value
элемента флажка или радиокнопки не изменяет внешнего вида элемента. Свойство
value
можно установить, но это изменит лишь строку, отсылаемую на веб-сервер при передаче данных формы.

  • Читать дальше
  • 1
  • ...
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: