Форум/Архив/Правила/2012/11
- 1 year ago
- 0
- 0
Форма
(
англ.
form
) в HTML — раздел документа, позволяющий пользователю вводить информацию для последующей обработки системой. Синтаксически форма в HTML задаётся с помощью элемента
<form>
и в дополнение к разметке обычных элементов содержит разметку для
элементов управления
(
англ.
controls
), надписей (
англ.
label
) и других
.
Простая форма для ввода данных о новом пользователе :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>
Регистрация
</title>
</head>
<body>
<form action="http://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
) на обработку в виде пар имя-значения
.
В HTML определены следующие элементы управления:
<input>
типов
submit
(отправка формы),
image
(картинка-кнопка),
reset
(очистка формы, приведение формы в начальное состояние),
button
(кнопка), а также элемент
<button>
(отправка формы);
checkbox
;
radio
;
<select>
с элементами
<optgroup>
и
<option>
внутри;
text
, а также элемент
<textarea>
(многострочное текстовое поле);
password
;
hidden
;
file
.
HTML5 определяет дополнительные элементы ( кросс-браузерность пока отсутствует) :
<datalist>
с вариантами автозаполнения строки текста;
<output>
для результата вычисления на основе других полей;
<keygen>
для генерации пары ключей для использования в механизме
аутентификации
.
Форма задаётся с помощью элемента
<form>
, внутри которого и располагаются элементы управления. Кроме общих для HTML атрибутов, в
<form>
могут присутствовать следующие
:
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 .