Тег FORM

  Парный блочный тег FORM предназначен для создания формы.
  Форма является инструментом для формализации информации, которую разработчик хочет получить от пользователя Web-страницы. Эта информация может быть отправлена на сервер, или обработана с помощью скрипта.
  Для получения такой информации на Web-странице строится формальный пользовательский интерфейс с помощью элементов интерфейса - элементов тегов: , которые помещаются внутри элемента тега FORM и(или) связываются с ним значениями соответствующих атрибутов.
  В этом случае элементы этих тегов становятся элементами формы.

  Кроме обозначенных элементов элемент тега FORM может содержать любой пользовательский контент, который будет отображен на Web-странице в соответствии с приписанными ему стилями, а также элементы любых дочерних тегов.
  Web-страница может содержать любое количество форм ( элементов тега FORM в HTML-коде), но одновременно обработана или отправлена может быть только одна форма.
  Поэтому данные форм должны быть независимы друг от друга.
  Атрибуты:
  ACCEPT-CHARSET - Устанавливает способ кодировки данных, полученных от всех элементов формы, который должен быть понятен получателю.

  • Значение:

    • Название кодировки
        Например - Windows-1251, UTF-8.

  • Значение по умолчанию - Кодировка, установленная элементом тега META, для HTML-документа, в котором находится элемент тега FORM.
  • Атрибут не обязательный.
  ACTION - Устанавливает адрес обработчика формы.
Обработчик формы — это программа (скрипт), для которого предназначена информация формализованная формой.
  Это может быть скрипт, который выполнится на сервере (например PHP-скрипт), или скрипт, который будет загружен на клиентское устройство (скорее всего JavaScript-скрипт) и выполнится на нём.
  Атрибут ACTION аналогичен атрибуту FORMACTION элементов формы созданных тегами INPUT и BUTTON.
  Установленное значение атрибута ACTION имеет преимущество перед значением FORMACTION при совместном использовании.
  • Значение:


  • Значение по умолчанию - Нет.
  • Атрибут не обязательный.
  AUTOCOMPLETE - Устанавливает разрешение на автозаполнение полей - элементов формы.
  Браузер может запоминать контент сформированный пользователем в этих полях и отобразить его, при последующей активации соответствующих элементов формы.
  Автозаполнение может быть отключено пользователем настройками браузера. В этом случае атрибут AUTOCOMPLETE не сработает.
  Значение атрибута AUTOCOMPLETE может быть перекрыто аналогичным атрибутом любого элемента формы созданного элементом тега AUTOCOMPLETE INPUT.
  • Значение:

    • Нет, только присутствие.

  • Значение по умолчанию - Зависит от настроек браузера.
  • Атрибут не обязательный.
  ENCTYPE - Устанавливает способ кодировки данных формы, который должен быть понятен получателю.
  Используется только в случае METHOD=post.
  При использовании атрибута FORMENCTYPE в элементах формы созданных тегами INPUT и BUTTON, для данных, формализуемых этими конкретными элементами, преимущество имеет атрибут - FORMENCTYPE.
  • Значение - один из mime-типов:
    • application/x-www-form-urlencoded - Вместо пробелов ставится +, все управляющие символы (не алфавитно-цифровые) и символы вроде русских букв кодируются их шестнадцатеричными значениями.
    • multipart/form-data - Данные не кодируются. Это значение применяется при отправке файлов.
    • text/plain - Пробелы заменяются знаком +, буквы и другие символы не кодируются.

  • Значение по умолчанию - application/x-www-form-urlencoded.
  • Атрибут не обязательный.
  METHOD - Устанавливает протокол передачи данных формы, который должен быть понятен получателю.
  При использовании атрибута FORMMETHOD в элементах формы созданных тегами INPUT и BUTTON преимущество имеет атрибут METHOD.
  • Значения:

    • get - Передача данных формы непосредственно в адресной строке в виде пар «имя=значение», которые добавляются к адресу - документа после вопросительного знака и разделяются между собой амперсандом (символ &).
        Полный адрес, к примеру, будет http://index.ru/content/?name=kisa&password=1234
        Объём данных в методе ограничен 4 Кб.
    • post - Посылает на сервер данные в запросе браузера, объём пересылаемых данных ограничен лишь настройками сервера.
    • dialog - Если элемент этого тега FORM находится внутри элемента тега DIALOG, то свойство returnValue соответствующего экземпляра объекта HTMLDialogElement получит значение кнопки INPUT - submit, или значение кнопки BUTTON - submit.
        Это значение будет доступно в функции - обработчике события close.

  • Значение по умолчанию - get.
  • Атрибут не обязательный.
  NAME - Устанавливает имя формы.
  Имя формы используется для идентификации значений ее элементов принимающей стороной.
  NOVALIDATE - Устанавливает отмену встроенной проверки данных формы на корректность.
  При обработке полей созданных связанными с формой элементами тегов INPUT TYPE="email" и INPUT TYPE="url", и наличии у них атрибутов PATTERN или REQUIRED, браузер, по умолчанию, проверяет корректность их формализации. Присутствие атрибута NOVALIDATE указывает, что этого делать не следует.
  • Значение:

    • Нет, только присутствие.

  • Значение по умолчанию - Выключен.
  • Атрибут не обязательный.
  TARGET - Устанавливает имя окна или фрейма, куда браузер будет передавать данные, полученные от обработчика формы в ответ на отправленную форму.
  При использовании атрибута FORMTARGET в элементах формы созданных тегами INPUT преимущество имеет атрибут TARGET.
  • Значения:

    • Допустимый символьный код, назначенный именем фрейма.
        Для направления данных во фрейм заданное имя фрейма должно совпадать с именем указанным в атрибуте NAME элемента тега FRAME или тега IFRAME создавшего этот фрейм.
    • _blank - Данные передаются в новое окно браузера.
    • _self - Данные передаются в текущий фрейм. Если фреймов нет, то это значение равносильно _parent.
    • _parent - Данные передаются в текущее окно.
    • _top - Данные передаются в "родительский" фрейм текущего фрейма. Если "родительского" фрейма нет, то это значение равносильно _self.

  • Значение по умолчанию - _parent.
  • Атрибут необязательный.


Пример:
<PRE>
             Их высокоблагородию приставу Голожопко.
             от купца первой гильдии Широмордова.
    Заявление.
  Довожу до Вашего сведения, что в амбаре моем завелись зеленые крысы.
То есть, до принятия второго полуштофа, они еще, как положено, серые,
а после - зеленеют. Нижайше прошу Ваше высокоблагородие самолично
;и незамедлительно оказать содействие в разрешении этого явления,
приехав ко мне незамедлительно, и не допустив дело до второго
полуштофа, в одиночестве моем, в ближайшие дни.

         С глубочайшим поклоном
         купец первой гильдии и Ваш сосед
           Афанасий Широмордов.


</PRE>


<FORM NAME="xx7" ACTION="../content/input.htm" ENCTYPE="text/plain" METHOD="get">
  <BR>Надеюсь на Ваше понимание и прошу указать: -
  <INPUT TYPE="radio" NAME="Компания" VALUE="Прибуду один"> Прибуду один
  <INPUT TYPE="radio" NAME="Компания" VALUE="Прибуду с супругой Анфисой Прокопьевной">Прибуду с супругой Анфисой Прокопьевной
  <BR>А, также, указать супруги Вашей дражайшей предпочтения: -
  <INPUT TYPE="checkbox" NAME="Что будем пить" VALUE="Водка"> Водка
  <INPUT TYPE="checkbox" NAME="Что будем пить" VALUE="Шампанское"> Шампанское
  <INPUT TYPE="checkbox" NAME="Что будем пить" VALUE="Мадера"> Мадера
  <INPUT TYPE="checkbox" NAME="Что будем пить" VALUE="Пиво"> Пиво
  <BR>Также предпочитаемые Вами закуски -
  <SELECT NAME="Закуска" >
      <OPTION VALUE="Поросенок с хреном"> Поросенок с хреном</OPTION>
      <OPTION VALUE="Хрен с поросенком"> Хрен с поросенком</OPTION>
  </SELECT>
  <BR>Может чего еще из закусок -
  <INPUT TYPE="text" NAME="Еще закусить" LIST="list1">
  <DATALIST ID="list1">
    <OPTION VALUE="Хрен с поросенком">Хрен с поросенком</OPTION>
    <OPTION VALUE="Поросенок с хреном">Поросенок с хреном</OPTION>
    <OPTION VALUE="Ну их нахрен">всех</OPTION>
  </DATALIST>
  <BR>Нижайше прошу Вас указать количество планируемых полуштофов: -
  <INPUT TYPE="number" NAME="Количество полуштофов" MAX=9 MIN=2>
  <BR>А, также, дату Вашего визита:_-
  <INPUT TYPE="date" NAME="Дата">
  <BR>И его время: -
  <INPUT TYPE="time" NAME="Время">
  <BR>Также предпочитаемые Вашей дражайшей супругой цвета: -
  <INPUT TYPE="color" NAME="Цвет Анфисы">
  <BR>Ежели желаете отписаться: -<BR>
  <TEXTAREA NAME="Письмо" ROWS=30 COLS=40>
  По такому случаю будем всенепременно! Ужо изведем крыс! Анфиса Прокопьевна особо возмутилась зеленым цветом</TEXTAREA>
  <BR>Ежели жалаете добавить конфиденциальную информацию: -
  <INPUT TYPE="password" SIZE=40 NAME="Секретно" VALUE="Ох и шельма ты, Афонька!">
  <BR>Прошу указать, ежели навестите меня, погряжшего в одиночестве -
  <INPUT TYPE="submit" NAME="Ответ" VALUE="Буду">
  <BR>А, ежели, к несчастью моему, не пожелаете меня навестить -
  <BUTTON TYPE="reset" NAME="reset" VALUE="Не буду" STYLE="color: red">
  <IMG SRC="../content/green_rat.jpg">Не буду</BUTTON>
</FORM>
Результат:
  	                     Их высокоблагородию приставу Голожопко.
                              от купца первой гильдии Широмордова.
                        Заявление.
   Довожу до Вашего сведения, что в амбаре моем завелись зеленые крысы.
  То есть, до принятия второго полуштофа, они еще, как положено, серые,
  а после - зеленеют. Нижайше  прошу  Ваше высокоблагородие   самолично 
  и  незамедлительно  оказать  содействие   в разрешении этого явления,
  приехав  ко  мне  незамедлительно,  и не  допустив  дело  до  второго
  полуштофа, в одиночестве моем, в ближайшие дни.
  
          С глубочайшим поклоном
          купец первой гильдии и Ваш сосед
                                           Афанасий Широмордов.
   

Надеюсь на Ваше понимание и прошу указать: - Прибуду один Прибуду с супругой Анфисой Прокопьевной
А, также, указать супруги Вашей дражайшей предпочтения: - Водка Шампанское Мадера Пиво
Также предпочитаемые Вами закуски -
Может чего еще из закусок -
Нижайше прошу Вас указать количество планируемых полуштофов: -
А, также, дату Вашего визита:_- И его время: -
Также предпочитаемые Вашей дражайшей супругой цвета: -
Ежели желаете отписаться: -

Ежели жалаете добавить конфиденциальную информацию: -
Прошу указать, ежели навестите меня, погряжшего в одиночестве -
А, ежели, к несчастью моему, не пожелаете меня навестить -
Листинг переданного файла:

?Компания=Прибуду+с+супругой+Анфисой+Прокопьевной
&Что+будем+пить=Водка
&Что+будем+пить=Шампанское
&Закуска=Поросенок+с+хреном
&Еще+закусить=Хрен+с+поросенком
&Количество+полуштофов=7
&Дата=2014-02-23
&Время=18%3A00
&Цвет+Анфисы=%23ff00ff
&Письмо=По+такому+случаю+будем+всенепременно%21+Ужо+изведем+крыс%21%0D%0A
++++++++++++++++++++++++++++++++++++++++++
Анфиса+Прокопьевна+особо+возмутилась+зеленым+цветом
&Секретно=Ох+и+шельма+ты%2C+Афонька%21
&Ответ=Буду