Спецификация HTML 4.01 + Спецификация CSS2

         

Элемент FORM


<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- интерактивная форма --> <!ATTLIST FORM %attrs; -- %coreattrs, %i18n, %events -- action %URI; #НЕОБХОДИМ -- обработчик на стороне сервера -- method (GET|POST) GET -- HTTP метод отправки формы-- enctype %ContentType; "application/x-www-form-urlencoded" accept %ContentTypes; #ПРЕДПОЛАГАЕТСЯ -- список типов MIME для загрузки файлов -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- имя формы (для скриптов) -- onsubmit %Script; #ПРЕДПОЛАГАЕТСЯ -- событие: форма отправлена -- onreset %Script; #ПРЕДПОЛАГАЕТСЯ -- событие: форма очищена -- accept-charset %Charsets; #ПРЕДПОЛАГАЕТСЯ -- список поддерживаемых наборов символов -- >

Начальный тег: необходим, Конечный тег: необходим

Определения атрибутов

action = uri [CT]

Определяет обработчик формы. Поведение пользовательского агента (ПА) для значений, отличных от HTTP URI не определено.

method =

get|post [CI]

Определяет, какой метод HTTP используется для отправки набора данных формы. Возможные (нечувствительные к регистру) значения - "get" (по умолчанию) и "post". См. родственную информацию в разделе отправка формы.

enctype = content-type [CI]

Определяет тип содержимого/content type при отправке формы на сервер (если значение method'a

- "post"). Значением по умолчанию этого атрибута является "application/x-www-form-urlencoded". Значение "multipart/form-data" должно использоваться в комбинации с элементом

INPUT, type="file".accept-charset

= список наборов символов [CI]

Определяет список кодировок для вводимых данных, принимаемых сервером, обрабатывающим данную форму. Значением является список наборов символов, разделённых пробелами и/или запятыми. Клиент должен интерпретировать этот список как список XOR (exclusive-or), т.е. сервер может принять любой отдельный символ кодировки на каждый полученный объект. Значением по умолчанию этого атрибута является зарезервированная строка "UNKNOWN".

ПА могут интерпретировать это значение как кодировку символов, использованную для передачи документа, содержащего форму FORM.




accept = content-type-list [CI]

Определяет список разделённых запятыми типов содержимого, которые сервер-обработчик формы будет обрабатывать корректно. ПА могут использовать эту информацию для фильтрации несоответствующих файлов при запросе пользователя на выбор файлов, пересылаемых серверу (сравните элемент INPUT с type="file").

name = cdata [CI]

Этот атрибут именует элементы таким образом, что на них можно ссылаться из таблицы стилей или скрипта (сценария).

Примечание. Этот атрибут введён для обеспечения обратной совместимости. Приложения должны использовать атрибут

id
для идентификации элементов.

Атрибуты, определённые в другом месте



  • id
    , class (идентификаторы документа)


  • lang (язык),

    dir
    (направление текста)


  • style (инлайн-стиль)


  • title (название

    элемента
    )


  • target (целевой фрэйм)




  • onsubmit
    , onreset, onclick,

    ondblclick
    ,

    onmousedown
    ,

    onmouseup
    ,

    onmouseover
    ,

    onmousemove
    ,

    onmouseout
    ,

    onkeypress
    ,

    onkeydown
    , onkeyup (внутренние события)


  • Элемент

    FORM
    действует как контейнер для ЭУ. Он определяет:

  • Вид формы (в зависимости от содержимого элементов).


  • Программу, которая будет обрабатывать заполненную и отправленную форму - обработчик формы (указанный в атрибуте action). Программа должна разбирать пары имя/значение для их последующего использования.


  • Метод отправки данных пользователя на сервер (атрибут method).


  • Кодировку символов, понимаемую сервером - для обработки формы (атрибут accept-charset).

    ПА должны уведомлять пользователя о значении атрибута accept-charset  и/или ограничивать возможность введения пользователем нераспознаваемых символов.


  • Форма может содержать текст и разметку (параграфы, списки и т.п.) в дополнение к ЭУ формы.

    В следующем примере показана форма,  обрабатываемая программой "adduser" после отправки.

    Форма будет отправлена программе методом "post".

    <FORM action="http://somesite.com/prog/adduser" method="post"> ...содержимое формы...

    </FORM>

    См. раздел отправка формы

    о том, как ПА должны готовить данные формы для сервера и как ПА должны обработать ожидаемый ответ.

    Примечание. Обсуждение работы сервера, принимающего данные формы, находится за рамками данной спецификации.


    Содержание раздела