Формы


Формы используются для интерактивного общения с пользователями. C помощью форм может производиться регистрация пользователя, его авторизация на сайте, вставка комментариев, пересылка сообщений и т.д. Для обработки форм применяются сценарии CGI или производится непосредственная пересылка информации на почтовый ящик. Создание формы производится в два этапа. Сначала создается нужная форма, а затем на сервере пишется сценарий CGI.



Форма создается с использованием парного тэга <form>. Тэг <form> может содержать следующие атрибуты:

method - определяет способ пересылки данных сценарию CGI со значением определенного протокола передачи данных. Их два. Протокол get (выбран по умолчанию) и post, который позволяет передавать большие объемы данных.
action - определяет .
enctype - определяет способ кодирования содержимого формы. По умолчанию используется значение form-encoded.

Пример:

<FORM method="get" или "post" action="URL сценария"></FORM>    </!-- для сценария -->
<FORM method="get" или "post" action="mailto:>почтовый адрес"></FORM>    </!-- для почты -->


Теперь рассмотрим элементы формы:

<input> - элемент <input> используется для внедрения в форму кнопок, текстовых полей, паролей, переключателей, флажков и графических изображений. Элемент может иметь восемь атрибутов типа type:

    text - однострочное текстовое поле. Сюда можно вводить имена, названия, должности, телефоны и т.д. Может принимать следующие значения:
      maxlength - задаёт максимально допустимую длину вписываемого значения в символах
      size - задаёт максимально допустимую длину поля в символах
      value - задаёт значение по умолчанию, которое можно менять

      Пример:
      <form>
      <input type="text" name="hobby" maxlength="35" size="20" value="Шопинг">
          </!-- тип; имя; длина; размер; значение -->
      </form>

    password - однострочное текстовое поле, в котором вместо вводимых символов отображаются звездочки. Может принимать следующие значения:
      maxlength - задаёт максимально допустимую длину вписываемого значения в символах
      size - задаёт максимально допустимую длину поля в символах
      value - задаёт значение по умолчанию, которое можно менять

      Пример:
      <form>
      <input type="password" name="PASSWORD_BOX" maxlength="35" size="20">
      </form>

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

    Например, для пересылки файла с исходным кодом HTML используется следующая конструкция:
      </form>
      <input type="hidden" name="file" value="anyfile.html">
      </form>

    checkbox - флажки используются для предоставления возможности пользователю ответить односложно: да/нет истина/ложь больше/меньше и т.д. Выглядит обычно в виде крестика или птички. Может иметь значения:
      checked - задаёт начальный статус флажка по умолчанию
      value - задаёт значение по умолчанию, которое можно менять

      Пример:
      <form>
      <input type="checkbox" name="send_mail" value="yes" checked>
          </!-- значение checked устанавливает "птичку" по умолчанию -->
      </form>

    radio - переключатель с более широкими функциональными возможностями. В группе переключателей может быть выбран лишь один. Для каждого переключателя указывается отдельный элемент input.

      Пример:
      <form>
      <input type="radio" name="payment_type" value="mastercard" checked> Мастеркарт
          </!-- значение checked устанавливает переключатель по умолчанию -->
      <input type="radio" name="payment_type" value="visa"> Виза
      <input type="radio" name="payment_type" value="AmEx"> Американ Экспрес
      </form>
      Мастеркарт
      Виза
      Американ Экспрес

    submit - задает кнопку, пересылающую содержимое формы сценарию, который был задан атрибутом action в элементе <form>. С помощью кнопок можно вычислять сумму, загружать страницы, пересылать данные, сбрасывать значения.

      Пример:
      <form method="post" action="mailto:name@domen.ru">
          </!-- метод; путь -->
      <input type="submit" value="Заслать">    </!-- тип; значение, т.е. надпись на кнопке -->
      </form>

    reset - эта кнопка используется для восстановления значений, заданных по умолчанию. Если значение по умолчанию не предусмотрено, то оно просто обнулится. Ширина кнопки может меняться в зависимости от других элементов.

      Пример:
      <form>
      <input type="reset" value="Сброс">
      </form>

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

      src. Задаёт URL файла с изображением.
      align. Задаёт выравнивание изображения относительно текста при помощи значений top, middle и bottom.
      name. Задаёт имя карты, которое так же пересылается сценарию вместе с координатами.

      Пример:
      <form method="post" action="Путь к файлу">
      <input type="image" src="Путь к изображению кнопки">
      </form>

    button - создает другую кнопку, браузеры пользователей могут использовать значение атрибута value в качестве исходного имени файла.

    Пример:
    <form>
    <input type="button" value="Кнопочка">
    </form>

file - создает управляющий элемент выбора файла.

    Пример:
    <form>
    <input type="file">
    </form>

accesskey - задает кнопку, при нажатии которой происходит обработка поля.

    Пример:
    <form method="post" action="mailto:name@domen.ru">
    <input type="submit" value="Послать" accesskey="a">
    </form>

id - задает имя для ссылки.

    Пример:
    <form>
    <input id="имя">
    </form>


size - задает ширину элемента в пикселях.

    Пример:
    <form>
    <input size="число">
    </form>


disabled - отключает возможность изменять содержимое поля или положение кнопки.

    Пример:
    <form>
    <input type="text" name="Hobby" maxlength="35" size="20" value="Водовка" disabled>
    </form>


<textarea> - при помощи этого элемента создается область для ввода и просмотра текста. Может использоваться и не в составе формы, а как самостоятельные детали страницы. Область ввода помогает сэкономить место благодаря полосам прокрутки. Может иметь атрибуты:

    name - задаёт ключевое слово, по которому сценарий может обращаться к его содержимому.
    rows - задаёт высоту области в строках.
    cols - задаёт ширину области в символах.

      Пример:
      <form>
      <textarea name="ключевое слово" rows=5 cols=30>Область для ввода текста</textarea><br>
      <input type="reset" value="Стереть">
      </form>


<select> - может принимать форму раскрывающегося списка или меню элементов. Имеет вложенный тэг <option> и атрибуты:

    name - задаёт имя.
    size - задаёт максимальное количество элементов списка, одновременно отображаемых на экране.
    multiple - задаёт возможность одновременного выбора нескольких значений.
<options> задает возможные варианты выбора меню <select> и имеет атрибуты:
    selected. - задаёт изначально выбранное слово.
    value. - задаёт значение выбранного слова для сценария.

      Пример:
      <form>
      Выберите нужное
      <select multiple>
      <option value=a>Первый</option>
      <option value=b>Второй</option>
      <option value=c>Третий</option>
      <option value=d>Четвертый</option>
      </select>
      </form>
    Выберите нужное

    или

    <form>
    <select size=1>
    <option selected value=1>Выберите:</option>
    <option value=2> Первый</option>
    <option value=3> Второй</option>
    <option value=4>Третий</option>
    <option value=5> Четвертый</option>
    </select>
    </form>


<optgroup> применяется для логической группировки элементов <option> внутри тэга <select> имеет атрибут label:

      Пример:
      <form>
      <select size=1>
      <optgroup label="Первая группа">
      <option selected value=1>Выберите:</option>
      <option value=2> Первый</option>
      <option value=3> Второй</option>
      </optgroup>
      <optgroup label="Вторая группа">
      <option value=4>Третий</option>
      <option value=5> Четвертый</option>
      </optgroup>
      </select>
      </form>


<isindex> - самый простой элемент, позволяющий создать подобие формы и ввода строки, содержащей текст и генерации запроса.

    Пример:
    Допустим что на текущей странице задан базовый URL при помощи элемента <BASE href="URL поискового средства в Internet"> тогда, если пользователь введет в поле ключевые слова для поиска слово1,слово2,слово3, то браузер сформирует и отошлет запрос для поисковой машины сервера в виде: http://www.название.домен/?слово1+слово2+слово3ю Если поисковая программа сервера поддерживает стандартный синтаксис запроса с использованием знаков ? и +, поиск будет осуществлен.

    <ISINDEX prompt="Строка для ввода критерия поиска">

<button> - является альтернативой элементу <INPUT> с более богатыми возможностями - например, с заданием альтернативного текста. Имеет следующие атрибуты:

    name - задает имя элементу.
    value - задает значение элементу.
    type - при использовании в качестве кнопки принимает значения: button, submit и reset.
    disabled - делает недоступным данный элемент
    tabindex - определяет положение в последовательности перехода клавишей Tab, отключенные поля форм не участвуют в очередности.
    accesskey - задает клавишу доступа.
    id - задает имя для ссылки.

      Пример:
      <form method="post" action="mailto:name@domen.ru">
      <button type="submit" name="submit">Отослать</button>
      </form>

<label> - применяется для альтернативного задания информации для управляющих полей формы. Поддерживает атрибут for, который связывает элемент <label> с другим элементом формы, а значение атрибута for должно совпадать со значением атрибута id связанного управляющего элемента.

Пример:
<form action="URL" method="post">
<table>
<tr>
<td><label for="fname">Имя</label>
<td><input type="text" name="firstname" id="fname">
<tr>
<td><label for="lname">Фамилия</label>
<td><input type="text" name="lastname" id="lname">
</table>
</form>

или

<form action="URL" method="post">
<label for="firstname">Имя:</label>
<input type="text" id="firstname">
<label for="lastname">Фамилия:</label>
<input type="text" id="lastname">
<label for="email">e-mail:</label>
<input type="text" id="email">
<input type="radio" name="sex" value="Мужской">Мужской
<input type="radio" name="sex" value="Женский">Женский
<input type="submit" value="Отправить">
<input type="reset">
</form>



Мужской
Женский

<fieldset> - позволяет логически группировать элементы формы.
      Пример:
      <form
      <fieldset>
      Имя
      </fieldset>
      </form>
    Имя

<legend> - позволяет давать наименования логическим группам элементов формы.
      Пример:
      <form>
      <fieldset>
      <legend>Группа 1</legend>
      <input type="text" id="name1">
      <input type="text" id="name2">
      </fieldset>
      <fieldset>
      <legend>Группа 2</legend>
      <input type="text" id="name3">
      <input type="text" id="name4">
      </fieldset>
      </form>
    Группа 1

    Группа 2




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

Реклама


Hosted by uCoz