Формы и их обработка

Автор статьи: Activeserverpages.ru
Сайт Автора: www.activeserverpages.ru
E-mail Автора: Нет
Дата публикации: 25.03.2005



Формы - это основной метод передачи информации от пользователя к серверу информации через ASP. Формы на web содержат таги которые передаются к браузеру, который в свою очередь показывает эти поля на экране и позволяет их заполнять. Большинство элементов страницы (к примеру header, table, text и т.д.) передаются самим сервером. Поля ввода передаются сервером браузеру в виде структуры, и затем уже браузер принимает пользовательский ввод и заполняет поля. Теперь страницы, содержащие формы могут иметь расширение .ASP и тогда браузер сможет возвратить серверу информацию, которая будет обработана сервером как ASP и ваш код будет иметь доступ к информации, введеной пользователем.

HTML формы используют теперь ASP (или же любой другой язык, поддерживаемый web). ASP позволит вам использовать объекты, такие как таги описания формы, фиксированные объекты, объекты пользовательского ввода и объекты пользовательского выбора.

Таги описания формы создают форму и устанавливают условия того, как сервер должен будет управлять информаицей, которую вводит пользователь.
Фиксированные объекты это HTML-компоненты страницы, такие как, например title, graphics и т.д. Эти данные никогда не меняются. Также пользователь ничего не делает с этими элементами и они возращаются неизмененными на сервер.
Объекты пользовательского ввода это объекты типа строки ввода текста, радио-кнопок, или же кнопок выбора. Эти объекты являются наиболее основными компонентами форм. Они обычно также называются полями.

Для правильной обработки форм вам необходимо разобраться с двумя основными методами передачи данных из формы к серверу. Итак существует два метода - GET и POST.
Метод GET передает данные из полей формы в URL запроса. То есть при нажатии кнопки Submit формируется URL со значениями полей формы:

К примеру russia.activeserverpages.com/SomeMyScript.asp?name=Marat&surname=Prazdnikow.

Данный пример показывает, как передаются параметры из формы - из строки ввода name и строки surname. Из примера видно, что параметры и значения формы передаются парами - параметр=значение и разделены символом &.
Для доступа к этим параметрам вам необходимо воспользоваться методом Request.Querystring("параметр").
Метод POST передает параметры и их значения из формы в заголовке запроса, а не через URL. Для доступа к таким параметрам необходимо воспользоваться методом Request.Form("параметр").

Поле ввода текста

Далее следует описание тагов для использования в формах.
В данном разделе мы попробуем создать форму, как часть HTML-файла.

<FORM Action="MyResponse.asp">
..... здесь описываются все поля формы (ввод текста, выбор, кнопи и т.д.)
</FORM>


Первая и последняя строки данного примера содержат таги для создания формы - <FORM> и </FORM>. Открывающий таг также содержит один или несколько допонительных параметров, причем слева стоит название параметра а справа через знак равенства присвоено значение данному параметру. Параметр Action показывает имя кода (в нашем случае MyResponse.asp), который будет запущен, когда пользователь нажмет на кнопку Submit. Когда пользователь нажмет указанную кнопку произойдет 2 различных события. Во-первых браузер передает данные из полей ввода серверу, а во-вторых сервер запустит код, указанный вами в параметре Action.
Последний элемент создания формы - это создание кнопок типа Submit и Reset, что и будет продемонстрированно ниже:
<FORM Action="MyResponse.asp">
...здесь описываются поля формы....
<p><Input type="submit"> <input type="reset">
</FORM>

Теперь мы создали скелет формы, которая будет работать правильно. Вам остается только добавить описание полей внутри формы.
Хочу обратить внимание на таги <input> . В данном таге существуют параметры, такие как type, value. Таг type описывает тип элемента формы.

Строка ввода. Описание далее представляет создание объекта пользовательского ввода, строка ввода текста.

Текстовое поле создается достаточно просто:
<INPUT NAME="field1">
Данный таг создаст строку ввода размером заданным по умолчанию и браузер передает данные, введенные пользователем серверу, причем значение передается под меткой field1.

Вы можете также управлять размером области ввода текста как показывает пример ниже:
<INPUT NAME="field1" SIZE="5">
Число приравненное к параметру size показывает, какое количество символов будет выведено в область ввода. Это значение не является ограничением на количество вводимых символов. Поэтому этот параметр нельзя использовать в качестве ограничителя ввода пользователя.

Вы можете управлять ограничением вводимых символов следующим образом:
<INPUT NAME="field1" MAXLENGHT="40">

Вы также можете вывести в форму значение по умолчанию, которое пользователь сможет либо принять либо изменить на собственное.
<INPUT NAME="feild1" VALUE="г.Москва">
Название города быдет выведено как только форма отобразиться в окне браузера. Некоторые программисты любят выводить в текстовые поля по умолчанию значения-подсказки типа "Введите название вашего города".

Ниже приведеи пример создания простой формы:

1 <html>
2 <head>
3 <body bgcolor="#FFFFFF">
4 <FORM action="MyResponse.asp">
5 Это пример по использованию форм!
6 <p>Введите сюда ваше имя:
7 <input type="text" name="name">
8 <input type="submit">
9 </form>

1 <hr>
2 <FORM action="MyResponse.asp">
3 Это пример на ту же тему №2
4 <p>Введите ваше имя:
5 <input name="name" size=40>
6 <input type="submit">
7 </FORM>
8 <hr>

1 <FORM action="MyResponse.asp">
2 Это пример №3
3 Пожалуйста введите ваш почтовый индекс:
4 <input name="Index" MaxLength="6">
5 <input type="submit">
6 </FORM>

1 <FORM action="MyResponse.asp">
2 Это пример формы №4
3 Введите название вашего города:
4 <input name="name" value="Москва">
5 <input type="submit">
6 </FORM>

1 <FORM action="MyResponse.asp">
2 Это пример №5
3 Введите сюда ваш индекс
4 <input name="Index" MaxLenght="6" value="Ваш индекс">
5 <input type="submit">
6 </FORM>
7 <hr>
8
9 </body>
10 </html>

Поле CheckBox

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

<FORM action="MyResponse.asp">
<p>Каким образом вы хотите получить информацию от нас?</p>
<p>
<input type="checkbox" name="post">По почте<br>
<input type="checkbox" name="email">E-mail'ом<br>
<input type="checkbox" name="dhl">Воспользуюсь услугами DHL<br>
<input type="checkbox" name="fax">По факсу<br>

Пример текста с использованием форм:

1 <html>
2 <head>
3 <body>
4
5 <FORM action="MyResponse.asp" method="post">
6 Пример №1<br>
7 Как вы будете получать от нас информацию?<br>
8 <p>
9 <input type="checkbox" name="post">По почте<br>
10 <input type="checkbox" name="email">E-mail'ом<br>
11 <input type="checkbox" name="dhl">Воспользуюсь услугами DHL<br>
12 <input type="checkbox" name="fax">По факсу<br>
13 <input type="submit"><input type="reset">
14 </FORM>
15 <hr>
16 </body>
17 </html>

Поле Радио Кнопки

Все ваши объекты для пользовательского ввода в форме должны иметь свои собственные имена (уникальные) которые могли-бы быть опознаны браузером и затем переданы из этих компонент к серверу (ASP). Для группы кнопок определяется одно только имя, причем результатом выбора одного из значения является присвоение имени группы кнопок значения, которое имеет выбранный элемент группы. Элемент - радио-кнопки очень похож на настоящий радио кнопки. Нажимаешь одну - отжимается другая.

Язык HTML требует, что-бы один из вариантов выбора в данном элементе (поле) был изначально выбран. Достигается это параметром CHECKED. Он будет выбран при выводе формы в браузер.