Форма (HTML)

Поделись знанием:
(перенаправлено с «Веб-форма»)
Перейти к: навигация, поиск
   HTML

Форма (англ. form) в HTML — раздел документа, позволяющий пользователю вводить информацию для последующей обработки системой. Синтаксически форма в HTML задаётся с помощью элемента <form> и в дополнение к разметке обычных элементов содержит разметку для элементов управления (англ. controls), надписей (англ. label) и других[1][2].





Пример

Простая форма для ввода данных о новом пользователе[1]:

<!DOCTYPE html>
<html>
   <head>
      <meta charset="utf-8" />
      <title>
         Регистрация
      </title>
   </head>
   <body>
      <form action="example.com/app/profile.php" method="post">
         <p>
            <label for="username">
               Имя: 
            </label>
            <input type="text" name="username" />
            <br />
            <label for="nick">
               Ник: 
            </label>
            <input type="text" name="nick" />
            <br />
            <label for="email">
               Адрес эл. почты: 
            </label>
            <input type="text" name="email" />
            <br />
            <label for="sex">
               Пол: 
            </label>
            <input type="radio" name="sex" value="male" />
            мужской
            <br />
            <input type="radio" name="sex" value="female" />
            женский
            <br />
            <input type="radio" name="sex" value="secret" />
            не хочу отвечать
            <input type="submit" value="Отправить">
            <input type="reset" value="Очистить">
         </p>
      </form>
   </body>
</html>

В этом примере форма содержит три текстовых поля для ввода текстовой строки, радиокнопки для выбора пола, кнопки для отправки (англ. submit) и очистки (англ. reset) формы.

Элементы управления

Элементы управления служат для взаимодействия пользователя с формой. Атрибут name определяет имя элемента управления с областью видимости внутри данной формы.

С каждым элементом формы связано начальное и текущее значение. За некоторыми исключениями (<textarea>, <object>), начальное значение может быть задано атрибутом value. Значения, соответствующие элементам, могут изменяться при взаимодействии пользователя или скриптов (например, на Javascript) с формой. При очистке (англ. reset) формы элементы приобретают начальные значения. Данные всех действующих (англ. successful) элементов формы отправляются (англ. submit) на обработку в виде пар имя-значения[1][2].

Типы

В HTML определены следующие элементы управления:

  • кнопка: элемент <input> типов submit (отправка формы), image (картинка-кнопка), reset (очистка формы, приведение формы в начальное состояние), button (кнопка), а также элемент <button> (отправка формы);
  • чекбокс (флажок): тип checkbox;
  • радиокнопка: тип radio;
  • меню: элемент <select> с элементами <optgroup> и <option> внутри;
  • строка текста: тип text, а также элемент <textarea> (многострочное текстовое поле);
  • пароль: тип password;
  • скрытое поле: тип hidden;
  • файл: тип file.

HTML5 определяет дополнительные элементы (кросс-браузерность пока отсутствует)[3]:

  • элемент <datalist> с вариантами автозаполнения строки текста;
  • элемент <output> для результата вычисления на основе других полей;
  • элемент <keygen> для генерации пары ключей для использования в механизме аутентификации.

Элемент <form>

Форма задаётся с помощью элемента <form>, внутри которого и располагаются элементы управления. Кроме общих для HTML атрибутов, в <form> могут присутствовать следующие[1][2]:

  • action (действие) — обязательный атрибут (в HTML5 — нет), содержащий URI обработчика формы;
  • method (метод отправки формы) — атрибут, принимающий значения GET (по умолчанию) или POST;
  • enctype (тип кодирования для содержимого) — по умолчанию application/x-www-form-urlencoded (всегда для метода GET), но обычно употребляется multipart/form-data;
  • accept — список MIME-типов для загрузки файлов;
  • name — имя формы;
  • onsubmit — обработчик события «форма отправлена» (для скриптов);
  • onreset — обработчик события: «форма очищена» (тоже для скриптов);
  • accept-charset список поддерживаемых наборов символов.

Отправка формы

Для отправки формы имеются два метода: GET и POST. Метод GET рекомендуется использовать в случаях, когда при обработке формы на стороне сервера не происходит побочных действий, например, поиск. В противном случае, когда на стороне сервера подразумевается модификация в базах данных и т. п., требуется использовать метод POST[1].

См. также

Напишите отзыв о статье "Форма (HTML)"

Примечания

  1. 1 2 3 4 5 [www.intuit.ru/department/internet/html/17/ Спецификация языка HTML], переводчик: А. Пирамидин, intuit.ru, ISBN 978-5-94774-648-8, 17. Лекция: Формы.
  2. 1 2 3 [www.w3.org/TR/html4/interact/forms.html Forms in HTML documents] (англ.) Спецификация W3C для HTML4
  3. [www.w3schools.com/html/html5_form_elements.asp HTML5 Form Elements, w3schools]


Отрывок, характеризующий Форма (HTML)

– Пошли, пошли! Ну, что эта немчура? – сказал Ростов с презрительной улыбкой.
– Он очень, очень хороший, честный и приятный человек, – сказал Борис.
Ростов пристально еще раз посмотрел в глаза Борису и вздохнул. Берг вернулся, и за бутылкой вина разговор между тремя офицерами оживился. Гвардейцы рассказывали Ростову о своем походе, о том, как их чествовали в России, Польше и за границей. Рассказывали о словах и поступках их командира, великого князя, анекдоты о его доброте и вспыльчивости. Берг, как и обыкновенно, молчал, когда дело касалось не лично его, но по случаю анекдотов о вспыльчивости великого князя с наслаждением рассказал, как в Галиции ему удалось говорить с великим князем, когда он объезжал полки и гневался за неправильность движения. С приятной улыбкой на лице он рассказал, как великий князь, очень разгневанный, подъехав к нему, закричал: «Арнауты!» (Арнауты – была любимая поговорка цесаревича, когда он был в гневе) и потребовал ротного командира.
– Поверите ли, граф, я ничего не испугался, потому что я знал, что я прав. Я, знаете, граф, не хвалясь, могу сказать, что я приказы по полку наизусть знаю и устав тоже знаю, как Отче наш на небесех . Поэтому, граф, у меня по роте упущений не бывает. Вот моя совесть и спокойна. Я явился. (Берг привстал и представил в лицах, как он с рукой к козырьку явился. Действительно, трудно было изобразить в лице более почтительности и самодовольства.) Уж он меня пушил, как это говорится, пушил, пушил; пушил не на живот, а на смерть, как говорится; и «Арнауты», и черти, и в Сибирь, – говорил Берг, проницательно улыбаясь. – Я знаю, что я прав, и потому молчу: не так ли, граф? «Что, ты немой, что ли?» он закричал. Я всё молчу. Что ж вы думаете, граф? На другой день и в приказе не было: вот что значит не потеряться. Так то, граф, – говорил Берг, закуривая трубку и пуская колечки.
– Да, это славно, – улыбаясь, сказал Ростов.
Но Борис, заметив, что Ростов сбирался посмеяться над Бергом, искусно отклонил разговор. Он попросил Ростова рассказать о том, как и где он получил рану. Ростову это было приятно, и он начал рассказывать, во время рассказа всё более и более одушевляясь. Он рассказал им свое Шенграбенское дело совершенно так, как обыкновенно рассказывают про сражения участвовавшие в них, то есть так, как им хотелось бы, чтобы оно было, так, как они слыхали от других рассказчиков, так, как красивее было рассказывать, но совершенно не так, как оно было. Ростов был правдивый молодой человек, он ни за что умышленно не сказал бы неправды. Он начал рассказывать с намерением рассказать всё, как оно точно было, но незаметно, невольно и неизбежно для себя перешел в неправду. Ежели бы он рассказал правду этим слушателям, которые, как и он сам, слышали уже множество раз рассказы об атаках и составили себе определенное понятие о том, что такое была атака, и ожидали точно такого же рассказа, – или бы они не поверили ему, или, что еще хуже, подумали бы, что Ростов был сам виноват в том, что с ним не случилось того, что случается обыкновенно с рассказчиками кавалерийских атак. Не мог он им рассказать так просто, что поехали все рысью, он упал с лошади, свихнул руку и изо всех сил побежал в лес от француза. Кроме того, для того чтобы рассказать всё, как было, надо было сделать усилие над собой, чтобы рассказать только то, что было. Рассказать правду очень трудно; и молодые люди редко на это способны. Они ждали рассказа о том, как горел он весь в огне, сам себя не помня, как буря, налетал на каре; как врубался в него, рубил направо и налево; как сабля отведала мяса, и как он падал в изнеможении, и тому подобное. И он рассказал им всё это.
В середине его рассказа, в то время как он говорил: «ты не можешь представить, какое странное чувство бешенства испытываешь во время атаки», в комнату вошел князь Андрей Болконский, которого ждал Борис. Князь Андрей, любивший покровительственные отношения к молодым людям, польщенный тем, что к нему обращались за протекцией, и хорошо расположенный к Борису, который умел ему понравиться накануне, желал исполнить желание молодого человека. Присланный с бумагами от Кутузова к цесаревичу, он зашел к молодому человеку, надеясь застать его одного. Войдя в комнату и увидав рассказывающего военные похождения армейского гусара (сорт людей, которых терпеть не мог князь Андрей), он ласково улыбнулся Борису, поморщился, прищурился на Ростова и, слегка поклонившись, устало и лениво сел на диван. Ему неприятно было, что он попал в дурное общество. Ростов вспыхнул, поняв это. Но это было ему всё равно: это был чужой человек. Но, взглянув на Бориса, он увидал, что и ему как будто стыдно за армейского гусара. Несмотря на неприятный насмешливый тон князя Андрея, несмотря на общее презрение, которое с своей армейской боевой точки зрения имел Ростов ко всем этим штабным адъютантикам, к которым, очевидно, причислялся и вошедший, Ростов почувствовал себя сконфуженным, покраснел и замолчал. Борис спросил, какие новости в штабе, и что, без нескромности, слышно о наших предположениях?