Создание кнопки в html. Когда следует использовать элемент Button

13.05.2019

Доброго здоровья всем читателям моего блога! Продолжаем тему построения html форм, сегодня рассмотрим создание кнопок на сайте при помощи тега button и его атрибутов . В прошлой статье я давал вам описание , теперь двинемся дальше.

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

Тем более, применение для этих целей таких средств как великолепный плагин для (кстати, последние версии других обладают уже встроенными подобными функциями) или делает этот процесс интересным и увлекательным, потому что во многом облегчают жизнь вебмастеру. Ну а теперь незамедлительно перехожу к сегодняшней теме.

Применение тега button и его атрибутов для создания кнопок

Помните, в прошлой статье я писал о создании кнопок на сайте посредством тега input и с помощью его самого распространенного (который может иметь три значения для создания кнопок: button, reset, submit). Так вот тег button (не путать со значением атрибута type=“button” тега input) может предложить гораздо более широкие возможности. На кнопке, смонтированной с его помощью, можно расположить практически любые элементы, в том числе изображения. Например:

Кнопка с надписью Кнопка с надписью
Кнопка с изображением

Далее. Как вы понимаете, для расширения функциональных возможностей того или иного тега форм используется множество атрибутов, которые могут принимать те или иные значения. Ниже даю примеры применения некоторых атрибутов тега button с необходимыми пояснениями.

1. accesskey - атрибут для определения горячих клавиш, с помощью которых происходит переход фокуса к элементу формы. Проще говоря, для нажатия на кнопку не обязательно подводить к ней курсор мыши, а достаточно нажать на клавишу, название которой задано с помощью этого атрибута. Латинские буквы (a-z) или цифры (0-9). Например, подставив значение 1 и a, получаем горячие клавиши, с помощью которых можно нажимать на кнопку.

Однако надо помнить, что в различных браузерах эта функция реализуется по-разному и используется сочетания клавиш. Для данного примера (горячие клавиши 1 и a) в самых популярных браузерах это выглядит так: Google Chrome () - Alt+1, Alt+A; Firefox - Shift+Alt+1, Shift+Alt+A; Opera ( статья о том, как бесплатно скачать, установить, обновить и настроить браузер Опера) - Shift+1, Shift+A; Internet Explorer - Alt+1, Alt+A

1 a

2. autofocus - этот атрибут позволяет получить установку фокуса после загрузки страницы, то есть можно нажать кнопку без подведения к ней курсора мыши, например, с помощью кнопки Enter на клавиатуре. Обратите внимание, что здесь использован тег fieldset, который мы еще будем рассматривать.


3. disabled - с помощью данного атрибута блокируется доступ к кнопке и ее изменение. Таким образом, она становится недоступной для пользователя. Значение такой кнопки не передается в файл обработчика (скрипта).

Активная кнопка
Неактивная кнопка

4. form - этот атрибут используется для того чтобы связать кнопку с формой. Это нужно в тех случаях, когда кнопка не располагается внутри тега form. В качестве значения атрибута form используется значение атрибута id тега form (например, id=“database”).

5. formenctype - этот атрибут тега button позволяет установить способ кодировки при отправке данных обработчику и определяется тремя значениями:

  • application/x-www-form-urlencoded - в этом случае при кодировке вместо пробелов ставится +, а вместо русских букв появляются их шестнадцатеричные значения, например, что-то типа такого: %2F%3D%26%3F%2%3D%26%3D
  • multipart/form-data - при использовании этого значения данные не кодируются
  • text/plain - вместо пробелов используется знак +, буквы и другие символы кодировке не подвергаются


Надо отметить, что если значение атрибута formenctype не проставлено, то по умолчанию используется application/x-www-form-urlencoded, то есть полное кодирование.

6. formaction - этот атрибут определяет адрес обработчика формы (обычно файл, написанный в виде скрипта). Он аналогичен .

7. formmethod - опять же по аналогии с он определяет способ передачи данных (get либо post).

8. formnovalidate - этот атрибут отменяет проверку на корректность данных, которые были введены в форму пользователем. По умолчанию он не действует. Эта проверка осуществляется автоматически при отправке формы для полей input type=“email” и input type=“url”.


9. type - определяет тип кнопки по ее функции. Внешний вид кнопок никак не отличается, однако они обладают различным функционалом, который определяется следующими значениями:

  • button - обычная кнопка
  • reset - кнопка для очистки данных формы и возвращение их в первоначальное состояние
  • submit - кнопка для отправки данных формы обработчику


10. name - уникальное название кнопки. Если на сайте существует несколько различных кнопок и необходимо их разделить, то используют данный атрибут. В качестве значения применяют набор символов их букв или цифр.

Целью данного поста было познакомить вас, уважаемые читатели, со всеми возможностями, которые предоставляет тег button и его атрибуты для создания кнопок на сайте. Надеюсь, для вас не осталось темных пятен по этой теме. Это не последняя публикация, продолжение обязательно последует, поэтому милости прошу подписываться на обновления

Описание

HTML тег

Disabled: Отключает возможность нажатия кнопки. Это можно использовать в случае, когда кнопка должна стать активной при выполнение определенных условий (например, при выборе флажка и тд.), сделать кнопку активной можно будет с помощью JavaScript. Значения для логического атрибута disabled можно задавать следующими способами: form: Указывает к какой форме относится данная кнопка. В качестве значения выступает один или несколько идентификаторов форм, разделенных пробелами. Количество идентификаторов в значении атрибута зависит от количества принадлежащих кнопке форм:

Имя:
Фамилия:

Кнопка находится вне элемента form, но является частью формы.

Примечание: атрибут не поддерживается в Internet Explorer.

Formaction: Определяет адрес, куда пересылаются данные формы при нажатии на кнопку. Если для формы указан атрибут action, то атрибут formaction переопределит его значение:

Имя:
Фамилия:

Атрибут formaction используется только для кнопок с атрибутом type="submit".

Примечание: атрибут не поддерживается в IE9 и более ранних версиях.

Formenctype: Указывает, каким способом данные формы должны быть закодированы перед отправкой на сервер. Используется только для кнопок с атрибутом type="submit". Возможные значения атрибута:

  • application/x-www-form-urlencoded - все символы кодируются перед отправкой (значение по умолчанию).
  • multipart/form-data - символы не кодируются (этот метод используется при использовании форм, которые имеют файл управления загрузкой).
  • text/plain - пробелы преобразуются в символ "+", но символы не кодируются.
Имя:
Если для формы указан атрибут enctype, то атрибут formenctype переопределит его значение.

Примечание: атрибут не поддерживается в IE9 и более ранних версиях.

Formmethod: Указывает, какой метод HTTP будет использован при отправке данных формы. Используется только для кнопок с атрибутом type="submit". Возможные значения атрибута:

  • get - данные формы добавляются в конце URL-адреса: URL-адрес?имя=значение?имя=значение
  • post - отправляет данные формы, как HTTP после транзакции
Имя:
Фамилия:
Если для формы указан атрибут method, то атрибут formmethod переопределит его значение.

Примечание: атрибут не поддерживается в IE9 и более ранних версиях.

Formnovalidate: Указывает, что данные формы не будут проверяться на корректность. Используется только для кнопок с атрибутом type="submit". Значения для логического атрибута autofocus можно задавать следующими способами: Если для формы указан атрибут novalidate, то атрибут formnovalidate переопределит его значение.

Примечание: атрибут не поддерживается в IE9 и более ранних версиях, и в Safari.

Formtarget: Указывает, где будет отображен ответ после отправки формы. Используется только для кнопок с атрибутом type="submit". Возможные значения атрибута:

  • _blank - открывает ответ в новом окне или вкладке.
  • _self - открывает ответ в той же директории, где располагается ссылка (значение по умолчанию).
  • _parent - открывает ответ в родительском окне.
  • _top - открывает ответ во всю ширину окна.
  • имя_фрейма - открывает ответ в iframe, имя которого было указано в качестве значения.
Имя:
Фамилия:
Если для формы указан атрибут target, то атрибут formtarget переопределит его значение.

Примечание: атрибут не поддерживается в IE9 и более ранних версиях.

Name: Указывает имя для элемента

Примечание: некоторые элементы

Примечание: всегда указывайте атрибут type для кнопок, потому что различные браузеры могут использовать разные значения по умолчанию для атрибута type.

Value: Значение кнопки, которое будет отправлено на сервер или прочитано с помощью скриптов.

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

04.02.14 4.9K

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

Сам элемент выглядит таким образом:

Что является самым распространенным результатом клика на что-нибудь на веб-сайте? Переход на новый URL-адрес, как если бы вы нажали ссылку (элемент ).

Элемент

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

Нажатие на эту кнопку приведет к удалению всех других полей ввода (и текстовых областей) из родительского блока

Пока будет сохраняться, этот смешанный контент будет отображаться на экране.

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

Давайте оставим пока тему стилей для

Однако

Даже если

Атрибуты перечислены в табл. 1, но в отличие от кнопки атрибут value определяет только отправляемое на сервер значение, а не надпись на кнопке. Если требуется вывести на кнопке изображение, то добавляется внутрь

В данном примере показано создание обычной кнопки с текстом, а также кнопки с одновременным использованием текста и рисунка. Размер кнопки зависит от содержимого

Атрибуты те же, что и у рядовых кнопок (пример 3), но значение атрибута value теперь можно не указывать, потому что браузер подставит текст самостоятельно, он различается в зависимости от браузера. Так, Firefox пишет «Отправить запрос», IE - «Подача запроса», Opera и Chrome - «Отправить». Сам текст надписи никак на функционал кнопки не влияет.

Пример 3. Отправка данных на сервер

Кнопка

Кнопка Reset

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

Синтаксис создания указанной кнопки прост и похож на другие кнопки.

В примере 4 показана форма с одним текстовым полем, которое уже содержит предварительно введённый текст с помощью атрибута value элемента . После изменения текста и нажатия на кнопку «Очистить», значение поля будет восстановлено и в нём снова появится надпись «Введите текст».

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

Кнопку на веб-странице можно создать двумя способами - с помощью тега и тега

Атрибуты перечислены в табл. 1, но в отличие от кнопки атрибут value определяет только отправляемое на сервер значение, а не надпись на кнопке. Если требуется вывести на кнопке изображение, то тег добавляется внутрь

В данном примере показано создание обычной кнопки с текстом, при этом, а также кнопки с одновременным использованием текста и рисунка. Размер кнопки зависит от содержимого контейнера

Атрибуты те же, что и у рядовых кнопок (пример 3).

Пример 3. Отправка данных на сервер

HTML5 IE Cr Op Sa Fx

Кнопка

Атрибут name для этого типа кнопки можно не писать. Если не указать значение value , то браузер автоматически добавит текст, он различается в зависимости от браузера. Так, Firefox пишет «Отправить запрос», IE - «Подача запроса», Opera и Chrome - «Отправить». Сам текст надписи никак на функционал кнопки не влияет.

Кнопка Reset

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

Синтаксис создания указанной кнопки прост и похож на другие кнопки.

В примере 4 показана форма с одним текстовым полем, которое уже содержит предварительно введённый текст с помощью атрибута value тега . После изменения текста и нажатия на кнопку «Очистить», значение поля будет восстановлено и в нём снова появится надпись «Введите текст».

Пример 4. Кнопка для очистки формы

HTML5 IE Cr Op Sa Fx

Кнопка

Значение кнопки Reset никогда не пересылается на сервер. Если надпись на кнопке опустить, иными словами, не задавать атрибут value , на кнопке по умолчанию будет добавлен текст «Очистить».