Когда следует использовать элемент Button. Использование элемента button
Кнопку можно задать с помощью парного тега . Внутри элемента button можно размещать другие HTML-элементы, так что можно сделать кнопку с текстом и рисунком.
Атрибуты тега
autofocus Автоматическое получение фокуса при загрузке страницы. Значение можно задать тремя способами:Disabled
Блокирует кнопку. Используется, когда кнопка становится активной только после выполнения определенных условий.
Значение можно задать тремя способами:
form
Идентификатор формы, к которой относится кнопка.
Атрибут не работает в Internet Explorer.
Formaction
Адрес, куда пересылаются данные формы при нажатии на кнопку. Если для тега указан атрибут action
,
то атрибут formaction
переопределяет его значение. Используется только для кнопок типа submit
.
Атрибут не работает в Internet Explorer версии 9 и ниже.
Formenctype Способ кодирования данных формы. Используется только для кнопок типа submit . Возможные значения:
- application/x-www-form-urlencoded – Символы кодируются перед отправкой (значение по умолчанию).
- multipart/form-data – Символы не кодируются (этот метод используется при использовании форм, которые имеют файл управления загрузкой).
- text/plain – пробелы преобразуются в символ "+", символы не кодируются.
Атрибут не работает в Internet Explorer версии 9 и ниже.
Formmethod Метод пересылки данных формы. Используется только для кнопок типа submit . Возможные значения:
- get – данные формы добавляются в конце URL-адреса: URL-адрес?имя=значение?имя=значение,
- post – данные формы передаются отдельно, как HTTP.
Атрибут не работает в Internet Explorer версии 9 и ниже.
Formnovalidate
Отмена проверки формы на корректность. Используется только для кнопок типа submit
. Значение можно задать тремя способами:
Атрибут не работает в Internet Explorer версии 9 и ниже.
Formtarget Место, где будет отображен результат отправки формы. Используется только для кнопок типа submit . Возможные значения:
- _blank – В новом окне или вкладке,
- _self – В текущем окне (по умолчанию),
- _parent – В родительском фрейме (если фреймов нет, то это значение работает как _self ),
- _top – В полном окне браузера, отменяя все фреймы (если фреймов нет, то это значение работает как _self ),
- имя_фрейма – В iframe с указанным именем.
Атрибут не работает в Internet Explorer версии 9 и ниже.
Name Имя кнопки. type Тип кнопки. Возможные значения:
- button – Просто кнопка (по умолчанию),
- submit – Кнопка завершения работы и передачи данных,
- reset – Кнопка сброса.
Пример кнопки с рисунком
Описание
HTML тег
Когда браузер отображает элемент
Примечание: для изменения стандартного вида курсора при наведении на кнопку используйте CSS свойство cursor .
Атрибуты
autofocus: Указывает браузеру, что кнопка должна получить фокус после загрузки страницы. Значения для логического атрибута autofocus можно задавать следующими способами:Disabled:
Отключает возможность нажатия кнопки. Это можно использовать в случае, когда кнопка должна стать активной при выполнение определенных условий (например, при выборе флажка и тд.), сделать кнопку активной можно будет с помощью JavaScript. Значения для логического атрибута disabled можно задавать следующими способами:
Кнопка находится вне элемента form, но является частью формы.
Примечание: атрибут не поддерживается в Internet Explorer.
Formaction: Определяет адрес, куда пересылаются данные формы при нажатии на кнопку. Если для формы указан атрибут action, то атрибут formaction переопределит его значение:
Атрибут formaction используется только для кнопок с атрибутом type="submit".Примечание: атрибут не поддерживается в IE9 и более ранних версиях.
Formenctype: Указывает, каким способом данные формы должны быть закодированы перед отправкой на сервер. Используется только для кнопок с атрибутом type="submit". Возможные значения атрибута:
- application/x-www-form-urlencoded - все символы кодируются перед отправкой (значение по умолчанию).
- multipart/form-data - символы не кодируются (этот метод используется при использовании форм, которые имеют файл управления загрузкой).
- text/plain - пробелы преобразуются в символ "+", но символы не кодируются.
Примечание: атрибут не поддерживается в IE9 и более ранних версиях.
Formmethod: Указывает, какой метод HTTP будет использован при отправке данных формы. Используется только для кнопок с атрибутом type="submit". Возможные значения атрибута:
- get - данные формы добавляются в конце URL-адреса: URL-адрес?имя=значение?имя=значение
- post - отправляет данные формы, как HTTP после транзакции
Примечание: атрибут не поддерживается в IE9 и более ранних версиях.
Formnovalidate:
Указывает, что данные формы не будут проверяться на корректность. Используется только для кнопок с атрибутом type="submit". Значения для логического атрибута autofocus можно задавать следующими способами:
Примечание: атрибут не поддерживается в IE9 и более ранних версиях, и в Safari.
Formtarget: Указывает, где будет отображен ответ после отправки формы. Используется только для кнопок с атрибутом type="submit". Возможные значения атрибута:
- _blank - открывает ответ в новом окне или вкладке.
- _self - открывает ответ в той же директории, где располагается ссылка (значение по умолчанию).
- _parent - открывает ответ в родительском окне.
- _top - открывает ответ во всю ширину окна.
- имя_фрейма - открывает ответ в iframe, имя которого было указано в качестве значения.
Примечание: атрибут не поддерживается в IE9 и более ранних версиях.
Name:
Указывает имя для элемента
Примечание:
некоторые элементы
Type: Определяет тип кнопки:
- button - активная кнопка
- reset - кнопка, очищающая форму от введенных данных
- submit - кнопка для отправки данных формы (значение по умолчанию)
Примечание: всегда указывайте атрибут type для кнопок, потому что различные браузеры могут использовать разные значения по умолчанию для атрибута type.
Value: Значение кнопки, которое будет отправлено на сервер или прочитано с помощью скриптов.
Примечание:
если вы используете элемент
Элемент button является более гибким, чем это может показаться на первый взгляд. Есть три способа, которыми вы можете использовать кнопку (button). Ключом к этим различным режимам работы является атрибут type , который имеет три значения. Они описаны в таблице .
Таблица 12-10: Значения атрибута type элемента button
В следующих разделах я опишу каждое из этих значений и функционал, который они предлагают.
Использование элемента button для отправки формы
Если атрибут type установлен на submit , при нажатии кнопки будет отправлена форма, которая содержит кнопку. Это поведение по умолчанию, если атрибут type не применяется. Когда вы используете кнопку таким образом, у вас есть доступ к некоторым дополнительными атрибутами, которые описаны в .
Таблица 12-11: Дополнительные атрибуты, которые можно использовать, если атрибут type установлен на submit
Атрибут | Описание |
form | Определяет форму (или формы), с которой связана кнопка. Для более подробной информации смотрите раздел «Работа с элементами вне формы» |
formaction | Переопределяет атрибут action элемента form и задает новый адрес, на который будет отправлена форма. Для более подробной информации по атрибуту action смотрите раздел «Настройка формы при помощи атрибута action» ранее в этой главе |
formenctype | Переопределяет атрибут enctype элемента form и указывает кодировку для данных формы. Для более подробной информации по атрибуту enctype смотрите раздел «Настройка кодирования данных» ранее в этой главе |
formmethod | Переопределяет атрибут method элемента form . Для более подробной информации по атрибуту method смотрите раздел «Использование атрибута method» ранее в этой главе |
formtarget | Переопределяет атрибут target элемента form . Для более подробной информации по атрибуту target смотрите раздел «Указание цели для ответа формы» ранее в этой главе |
formnovalidate | Переопределяет атрибут novalidate элемента form , чтобы указать, должна ли быть выполнена валидация со стороны клиента. Информацию по валидации вы можете узнать в главе 14 |
По большей части эти атрибуты позволяют изменить или дополнить конфигурацию элемента form и указать действие, метод, схему кодирования, цели, а также контролировать валидацию на стороне клиента. Эти атрибуты являются новым в HTML5. В показано, как можно применить эти атрибуты к элементу button .
Листинг 12-15: Использование атрибутов элемента button
В этом примере я опустил атрибуты action и method элемента form и добавил настройки при помощи атрибутов formaction и formmethod элемента button .
Использование элемента button для сброса формы
Если вы установите атрибут type на reset , то при нажатии кнопки все элементы ввода данных, которые присутствуют в форме, будут сброшены и возвращены в исходное состояние. Тут нет никаких дополнительных атрибутов, если элемент button используется таким образом. В показано добавление в документе HTML кнопки сброса.
Листинг 12-16: Использование элемента button для сброса формы
Рисунок 12-12: Добавление общего элемента button
(c атрибутом type = "button" ).
Атрибут type тега задает тип, используемой кнопки:
Всегда указывайте для тега
В данном примере мы разместили 3 кнопки , которым задали уникальные имена атрибутом name и с использованием внутренних CSS стилей указали ширину (width ) размером 80 пикселей и высоту (height ) размером 50 пикселей:
- Текст внутри первой кнопки мы отформатировали жирным начертанием (тег ). Обратите внимание, что текст, который мы поместили внутри тега отображается на самой кнопке.
- Внутри второй кнопки элементом мы разместили *.png изображение (с прозрачным задним фоном). Атрибутом alt мы задали альтернативный текст для изображения, для того случая если оно по каким-то причинам не будет загружено (обязательный атрибут), относительный путь к изображению мы задали атрибутом src (обязательный атрибут), атрибутами width (ширина) и height (высота) задали размеры изображения равными 40 на 40 пикселей. Обратите внимание, что в атрибутах, которые задают размер не требуется указывать единицы измерения в отличии от CSS стилей, по той причине, что атрибутами можно указать значение только в пикселях.
- Текст внутри третьей кнопки мы отформатировали курсивным начертанием (тег ).
Результат нашего примера:
Отключение кнопки
Атрибут disabled (HTML тега
В данном примере мы указали для второго элемента
Автофокус на кнопке
В HTML 5 был добавлен такой логический атрибут как (HTML тега
Обращаю Ваше внимание, что только один элемент в документе может иметь атрибут autofocus (браузер даст фокус тому элементу, который ближе расположен к началу документа, остальные просто будут игнорированы).
Давайте рассмотрим пример использования:
В данном примере мы создали две кнопки (HTML тег
Инструкция
Использование дескриптора добавляет на страницу кнопку с именем name и значением value. Атрибут name задает элементу уникальный идентификатор и используется для определения обработчиком формы его значения. Value выводит необходимый текст поверх. Например, для создания кнопки запишите следующий код:
Данная команда создаст кнопку с именем button и надписью «Отправка» на ней.
Дескриптор
Атрибут form задает идентификатор формы, который будет использоваться для обработки данных. Formaction устанавливает обработчик формы в другой части документа, другом файле или сайте. Formmethod отвечает за определение метода пересылки данных. Name задает имя кнопке, type – тип (обычная, для отправки данных или для очистки формы). Value – значение, которое будет считываться скриптами. На кнопке будет отображаться изображение с указанным адресом и текст.
Чтобы создать кнопку, которая будет обрабатывать введенные данные, необходимо в атрибуте указать соответствующий тип:
Чтобы создать кнопку, стирающую введенные пользователем данные, задайте type = “reset”.
Обратите внимание
Дескриптор должен обязательно использоваться в качестве содержимого тега