Введение в CGI


TEXTAREA


Контейнер textarea — это первая попытка разрешить пользователю вводить большие текстовые фрагменты. Контейнер удобен там, где не требуется форматное представление данных, либо поле должно содержать произвольный фрагмент текста, например, комментарий. Если контейнер употребляется в документе, то нужно указывать как тег начала контейнера, так и тег его конца.

<FORM> <TEXTAREA NAME=s> Здесь можно ввести произвольный текст </TEXTAREA> <INPUT TYPE=submit> </FORM>

Содержание поля textarea можно передать как методом get (fiarea1.htm), т.е. в URL скрипта, так и методом POST (fiarea2.htm).

Атрибуты контейнера textarea позволяют сформировать на экране окно, где будет отображаться значение поля, и правила этого отображения. Атрибут COLS определяет число столбцов в окне. Текст отображается в поле textarea фонтом фиксированной ширины, и этот атрибут задает ширину поля в символах:

<FORM> <TEXTAREA NAME=s COLS=5> Здесь можно ввести произвольный текст </TEXTAREA> <INPUT TYPE=submit> </FORM>

Аналогично ширине поля можно задать и его высоту в строках текста:

<FORM> <TEXTAREA NAME=s COLS=15 ROWS=5> Здесь можно ввести произвольный текст </TEXTAREA> <INPUT TYPE=submit> </FORM>

И последний штрих — управление отображением текста. Во всех предыдущих примерах текст "вылезал" за правый край экрана, и его приходилось листать по горизонтали. Это достаточно неудобно. Кроме того, всегда существует дилемма: передавать текст на сервер как он есть (с переводом строк) или вытянуть в одну длинную строку. В Netscape для решения этих задач используют атрибут WRAP. Этот атрибут может принимать несколько значений:

  • off — отключить выравнивание внутри поля (fiarea3.htm);

  • virtual — включить выравнивание, но передавать как длинную строку (fiarea4.htm);

  • physical — включить выравнивание, но передавать вместе с переводом строк (fiarea5.htm).

Наиболее интересен второй случай. В практике обработки данных скриптом очень часто приходится вытягивать ввод в одну строку и потом сравнивать ее с шаблоном. В случае WRAP=virtual мы избегаем первого шага:

<FORM> <TEXTAREA NAME=s COLS=15 ROWS=5 WRAP=virtual> Здесь можно ввести произвольный текст </TEXTAREA> <INPUT TYPE=submit> </FORM>



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