Выразительный JavaScript (Хавербеке) - страница 196

, который приводит к тому же результату, но сообщает браузеру о наших намерениях. В этом случае браузер может отменить это поведение в подходящих случаях, например когда пользователь перевёл фокус куда-то ещё.

>

Браузеры по традиции позволяют пользователю перемещать фокус клавишей Tab. Мы можем влиять на порядок перемещения через атрибут >tabindex. В примере документ будет переносить фокус с текстового поля на кнопку OK, вместо того, чтобы сначала пройти через ссылку help.

> (help)

>

По умолчанию, большинство типов элементов HTML не получают фокус. Но добавив >tabindex к элементу, вы сделаете возможным получение им фокуса.

Отключённые поля

Все поля можно отключить атрибутом >disabled, который существует и в виде свойства элемента объекта DOM.

>

>

Отключённые поля не принимают фокус и не изменяются, и в отличие от активных, обычно выглядят серыми и выцветшими.

Когда программа находится в процессе обработки нажатия на кнопку или другой элемент, которое может потребовать общение с сервером и занять длительное время, неплохо отключать элемент до завершения действия. В этом случае, когда пользователь потеряет терпение и нажмёт на элемент ещё раз, действие не будет повторено лишний раз.

Форма в целом

Когда поле, содержится в элементе >

, у его элемента DOM будет свойство >form, которое будет ссылаться на форму. Элемент >, в свою очередь, имеет свойство >elements, содержащее массивоподобную коллекцию полей.

Атрибут >name поля задаёт, как будет определено значение этого поля при передаче на сервер. Его также можно использовать как имя свойства при доступе к свойству формы >elements, который работает и как объект, похожий на массив (с доступом по номерам), так и >map (с доступом по имени).

>

>  Имя:

>  Пароль:

>  

>

>

Кнопка с атрибутом >type равным >submit при нажатии отправляет форму. Нажатие клавиши Enter внутри поля формы имеет тот же эффект.

Отправка формы обычно означает, что браузер переходит на страницу, обозначенную в атрибуте формы