HTML - Уеб Дизайн -Част 14-та(Формуляри)
Формуляри: 2-ра част


МНОГОРЕДОВИ ПОЛЕТА ЗА ВЪВЕЖДАНЕ НА ТЕКСТ

Ако желаете да предоставите възможност на посетителите си да оставят по-подробно мнение или коментар трябва да използвате многоредово поле за въвеждане на текст. Многоредовите полета се въвеждат чрез тага textarea, който притежава затварящ таг. Атрибутите на тага са:

- Атрибута name, който определя названието, под което ще се съхранява и обработва тази част от формуляра

- Атрибута rows, на който се присвоява като стойност някаква цифра, указваща височина на полето в брой редове

- Атрибута cols, на който се присвоява като стойност някаква цифра, указваща ширината на полето в брой знаци (цифри, букви и др.)

Ако желаете да напишете текст, който да указва предназначението на многоредовото поле, трябва да изпишете текста между тага form и тага textarea.

Ако желаете да напишете текст, който да се вижда вътре в самото многоредово поле, трябва да изпишете текста между тага textarea и неговия затварящ таг.

ПРИМЕР:

Нека направим многоредово поле с название Comentar, с дължина 50 знака и височина 10 реда. Указващия текст към полето да бъде "Вашия коментар:", а вътре в самото поле да се вижда текста "Смятам че".

<form>

Вашия коментар:<br />
<textarea name="Comentar" cols="50" rows="10">Смятам че</textarea>

</form>

Ако коментарът е дълъг и не се събере във видимата част на полето, отстрани ще се появи лента за превъртане.

Ако по някаква причина желаете многоредовото текстово поле да се вижда, но да не може да се ползва, трябва да добавите към тага textarea атрибута readonly със стойност самото му название(readonly="readonly") или disabled със стойност самото му название (disabled="disabled").



ПОЛЕ ЗА ВЪВЕЖДАНЕ НА ПАРОЛА

Забелязали сте, че когато попълвате паролата си при отваряне на вашата електронна поща тя не се показва в полето като текст, а във вид на "звездички", например *******. Такова поле можете да въведете и вие в своя формуляр, за да защитите от чужд поглед определена информация, въвеждана във формуляра от ваши клиенти. За да изработите такова поле трябва да зададете на атрибута type от тага input стойността "password":

<form>

Въведете своята парола: <input type="password" name="parola" />

</form>



ПОЛЕ ЗА ПРЕХВЪРЛЯНЕ (UPLOAD) НА ФАЙЛОВЕ

Ако във формуляра има изискване клиента да приложи някакъв графичен файл /снимка, графика и др./, трябва да използвате кода, който дава възможност клиента да прехвърли файла от личния си компютър. За целта на атрибута type от тага input се присвоява стойността file. Използват се и атрибутите size и name с които се задава съответно дължина на полето в брой символи и название, което да съответства на предназначението на полето.

След изписване на кода в прозореца на браузъра се изобразява поле и бутон с надпис Browse. При натискане върху бутона се появява панел с файловете от личния компютър на клиента, от който той избира нужния за прехвърляне файл.

Нека направим поле за ъплоудване /прехвърляне/ на файлове с дължина 25 символа и название "UploadFile". Обяснителния текст към полето да бъде "Прехвърлете файл от личния си компютър:". Кода изглежда така:

<form>

Прехвърлете файл от личния си компютър: <input type="file" size="25" name="UploadFile" />

</form>



НАЧИНИ ЗА ОБРАБОТВАНЕ НА ФОРМУЛЯРИ

Всичко което научихте досега за формулярите е напълно безполезно ако не знаете какво да правите с попълнената от клиента информация - как и къде се изпраща и съхранява тя, така че да може да я използвате.

За да бъде използваем един формуляр той трябва задължително да притежава следните елементи:

1. Бутони
За да бъде използваем формуляра клиентът трябва да има възможност да съхрани и да изпрати за обработка попълнените данни. За целта в повечето случаи се използва бутона "Submit". Обикновено този бутон може да се види в края на формуляра. Чрез натискане на бутон "Submit" данните се изпращат за обработка и съхранение и по този начин завършва работата по попълването на формуляра.

За изработването на бутона "Submit" в HTML е предвидена следната команда:

<form>

<input type="submit" value="Submit" />

</form>

Аналогично е изработването на бутон "Reset" чрез който формуляра се изчиства и се изтриват попълнените вече данни /например ако клиента се е отказал да изпраща информацията или желае да попълни други данни/.


2. Указване на начин за обработка на формуляра
След като формуляра е попълнен клиента натиска бутона Submit и тук вече следва действието по изпращането на формуляра за обработка и съхранение.

Съществуват два начина за обработване на формуляри.

Първият и най-прост начин е формуляра с цялата информация в него да се изпрати в някаква електронна пощенска кутия (e-mail) и да се съхранява там. Когато информацията от формуляра ви потрябва вие ще отворите имейла и ще видите необходимите ви данни.

За да изпратите формуляра на някакъв имейл е необходимо само да добавите в отварящия таг form (първия таг на всеки формуляр) атрибута action и да му зададете като стойност адреса на имейла в който трябва да пристигне информацията, придружен от формата mailto::

<form action="mailto:somename@someserver.com">
.........
.........
.........
</form>

Въпреки че това е най-лесния начин за обработка на формуляри той почти не се използва, тъй като зависи изцяло от възможността на браузъра да изпрати формуляра на имейл, а голяма част от браузърите не са програмирани да извършват това действие.

Втория начин за обработка на формуляри е по-сложен, но и много по-надежден, поради което повечето сайтове използват именно него. Този начин изисква да притежавате някакъв скрипт, например CGI-скрипт за обработка на формуляри.

Пълния текст на съкращението CGI е Common Gateway Interface. CGI-скриптът представлява програма, написана на някой от програмните езици - най-често на C, C++ или Perl. Тя има за задача да обработи формуляра и за целта на атрибута action от началния таг form се задава като стойност точния адрес в интернет, където се намира CGI-скриптът. Добре е CGI-скрипта да се намира на същия сървър, където е "качен" /хостван/ вашият сайт. Обикновено хостовете които позволяват качване на CGI-скриптове отделят специално за тях директория, която почти винаги носи названието cgi-bin. Самите CGI-скриптове представляват файлове с разширение cgi. Нека вашия скрипт да се намира във файл myscript.cgi, който е качен в директорията cgi-bin на сървъра, където е хостнат сайтът ви. Тогава командата за изпращане на формуляра за обработка ще изглежда така:

<form action="cgi-bin/myscript.cgi">
.........
.........
.........
</form>

От всичко казано дотук става ясно, че вие трябва да притежавате CGI-скрипт и да го качите на сървъра, където се намира и сайтът ви. CGI-скрипт може да придобиете по няколко начина. Ако владеете някой от програмните езици може сами да си напишете скрипт. Може да помолите някой да ви го напише или да потърсите в интернет сайтове от които да си изтеглите готов безплатен скрипт - съществуват много такива страници. Ако изтеглите готов скрипт ще са ви необходими поне минимални познания по съответния език, за да преправите скрипта, така, че да ви върши работа.

Имайте предвид, че не всички хостинги позволяват качването на CGI-скриптове (особено безплатните хостинги). Освен това CGI скрипта не е единствената възможност, за да имате форма за обратна връзка с клиента. Такава роля успешно може да изпълнява например PHP скриптове, ASP скриптове и пр. Също така в хостинга на Host.bg не е задължително да създавате cgi-bin директория, където да качвате скриптовете си.

Други важни атрибути на тага form са name и method.

Чрез атрибута name може да зададете име на вашия формуляр - например name="clientinfo".

Тага method определя какво действие ще се извърши с формуляра (метода, по който ще се оперира с данните) и може да приема стойности get и post. Стойността get изпраща съдържанието на формата на указан URL. Този метод не бива да се ползва, ако дължината на данните във формата превишава 100 символа и ако формата съдържа знаци извън стандарта ASCII. Метода post добавя съдържанието на формата към тялото на заявката и го изпраща за обработка от скрипта, указана чрез атрибута action.

ПРИМЕР:

<form name="clientinfo" action="myscript.php" method="post">
.........
.........
.........
</form>
информация е взета от www.host.bg


/ Трябва да сте регистриран за да напишете коментар /