Postoje i stvari koje browser ne moze da obradi i proizvede u neki rezultat, a sto je sasvim
razumljivo, jer da moze sve, onda nam osim browsera nebi vise trebali ikakvi drugi
programi. I tako, posto bi hteli svasta nesto preko ovog Interneta, a sam browser
to ne moze realizovati, doslo se na ideju da se ostale mogucnosti povere
serveru, pa kada nam zatreba i nekakva posebna izmisljotina, da to browserom zatrazimo
od servera pa server sa svojim velikim operativnim mogucnostima to obradi,
i posalje nam (ili jos nekome) rezultat. Ti nalozi, zahtevi ili
molbe serveru se u ovoj HTML nauci zovu Forme
(Forms).
Mnoge od Formi ste svakako imali priliku da vidite, a to su one
stranice gde morate upisati svoje podatke za neku narudjbu, ili sifru za pristup svome
email-u, a najcesce i kakvoj pornografskoj umetnosti rvanja, pa je zato najbolje da vam se
odmah obrazlozi i kako one funkcionisu. To je, uglavnom jednostavno. Na
serveru stoje instalisani programi i programcici koji mogu da obave svasta nesto lepo za
vas, pa je samo potrebno znati sta neki server ima od te programske
podrske i kako izgledaju Forme koje odgovaraju tim programima.
Najcesce prisutne forme na privatnim webovima su one za knjigu gostiju,
upis u E-mail ili Chat listu, pa i slanje narudjbi za neku interesantnu stvarcicu.
E, a sada, ovom svemu treba samo jos dodati da se oni programi i programcici
koji rade te stvari, na serveru standardno smestaju u jednu fasciklu (direktorij) koja
uvek ima naziv cgi-bin. Dakle,
imate formu na svome web-u, sa kojekakvim rubrikama za popunjavanje, i na kraju
prikazanu i onu cuvenu dugmad, poput Submit ili Reset,
pa kada klijent ispise sta hoce i klikne na
button za potvrdu, browser to salje serveru u cgi-bin direktorij tom i tom
programcicu. Onda, zavisno od toga o cemu se radi, program ili odmah uzvrati neki web odgovor,
ili upise nesto u neku listu koju moze videti samo odredjena firma, ili dostavi nesto nekome
email-om. A moze i sve troje, kao i jos nesto, zavisno od toga sta je tim
programom na serveru sve izprogramirano.
Svaki oblik neke forme se u HTML-u ispisuje upotrebom <form></form>
taga. Nakon svega do sada navedenog prvi primer jedne forme bi mogao biti prikazan ovako:
U principu, oblik neke forme se uglavnom i dobija
od server-providera, ali kako je vec uobicajeno da svaki cgi-program podrzava obradu
HTML-Forms ciji su atributi i parametri uvedeni kao standard, onda je uglavnom potrebno
znati tacnu adresu svakog cgi obradjivaca u cgi-bin direktoriju servera, posto
tu jedan program obavlja email export, drugi prima i kreira podatke knjige utisaka, treci
je za forum-diskusije itd. ovisno od toga sta koji server vec podrzava u svojoj ponudi.
U PRVI ELEMENT OD <form></form> TAGA MOGU
ICI ATRIBUTI :
| ACTION | parametar mu je puna adresa (URL) cgi-bin direktorija na koji se forma salje nakon Submit-a. Ako ovaj action atribut nedostaje, browser onda podrazumeva kao adresu trenutni url (web) sa kojeg se forma i salje. |
| METHOD | kao parametar mu se upisuje protokol koji ce se koristiti u transmisiji i obradi doticne forme. Osnovni protokol za http:// adresiranje je GET, ali najcesci u upotrebi je POST. |
| ENCTYPE | odredjuje tacan format podataka u slucaju da standardnim protokolima nije odredjen. Primera radi, sa POST protokolom se podrazumeva tzv. MIME format prenosa podataka, pa je primena ovog enctype atributa tada nepotrebna. |
Dodatno ovome treba upozoriti da se unutar <form></form>
taga ne moze ugnezditi, ubacivati, jos neki <form></form>
tag, ali se zato u sastavu jednog web dokumenta moze upisati odvojeno vise <form></form> tag skupina, sto znaci da iz jedne web
stranice mozete slati na obradu i razlicite forme, razlicitim cgi-bin programima na
serveru. Nakon ovoga dolaze na red tagovi koji mogu ici unutar jednog <form></form> taga. Kao prvi:
SADA IDE <input> TAG U VIDU TAG ELEMENTA BEZ
SVOG OPOZIVNOG PARA,
a koji sluzi za kreiranje prostora, polja,
namenjenog upotrebi na strani klijenta. Njegov osnovni oblik je priblizno <input name="ime" type=text size="50">, a
atributi sledeci:
| ALIGN | Vec poznat atribut iz ranije obradjivanih tagova. Ovde se koristi samo u slucaju primene type=image atributa koji slede dole nize. |
| CHECKED | Pokazuje da su checkbox ili radio button selektovani. Ako su neselektovani onda odaslana forma ne vraca name i value. |
| MAXLENGHT | Odredjuje maksimalan broj slova i znakova koji se moze upisati u prostor predvidjen za upis klijentovog teksta. Ne zavisi od size atributa posto u slucaju veceg broja slova tekst skroluje unutar size polja. Ako se ovaj atribut ne navede, browser podrazumeva mogucnost upisa neogranicenog broja karaktera. |
| NAME | Simbolicki naziv koji sluzi kao identifikacija odredjenog polja pri prenosu sadrzaja forme. Ovaj atribut se zahteva za vecinu <input> elemenata kao identifikator mesta ili logickog povezivanja polja. |
| SIZE | Odredjuje velicinu prostora za upis brojem slova koja mogu stati. |
| SRC | Vec poznat atribut za adresiranje. Ovde sluzi za link na neku sliku (image), ali samo uz upotrebu i type=image atributa. |
| TYPE | Odredjuje tip, vrstu podatka koji se prihvata u polju. Podrazumeva se slobodan text, a i vise drugih vrsta se odredjuje ovim atributom. |
| CHECKBOX | Odredjuje prikaz malih box-polja (kvadrat,krug) za markaciju, selekciju izbora, kvakicom ili tackom. Bez parametra CHEKED browser podrazumeva i prikazuje prazan, neselektovan checkbox. |
| HIDDEN | Odredjuje da sadrzaj polja nece biti vidljiv, ali ce biti prosledjen sa formom, kao i u slucajevima primene password atributa. |
| IMAGE | Atribut koji daje na znanje da se njime prenose x/y koordinate tacke dodira i potvrde kursorom na nekoj slici koja je uvucena kao polje forme. Najcesce se radi o izboru na nekom geografskom prikazu regija, planu gradskih zona i slicnim link temama. |
| PASSWORD | U ovom polju upisani tekst se prikazuje u vidu zvezdica, ali se prosledjuje serveru na obradu u svom originalnom obliku. |
| RADIO | Naziv se odnosi na prikazivanje button-a (dugmeta) i polja ciji je smisao pozajmljen po uzoru na ponudu radio-prijemnika, gde se nudi izbor ispisanih radio-stanica, a uvek mozete izabrati i slusati samo jednu. Dakle, ne radi se ni o kakvom radio-prijemu nego o atributu koji odredjuje browseru prikaz takve liste unutar polja i button-a koji tu ponudu otvara.Tu se moze izabrati markacijom samo jedna vrednost iz prikazane liste. Sva radio dugmad u okviru jedne iste form grupe moraju da imaju isto ime. I ovde se sa checked moze odrediti nesto kao unapred markirano, ali se time takodje ne sprecava naknadni klijentov drugaciji izbor. Uz ovaj atribut ide kao obavezan i value, unutar <input> elementa. |
| RESET | Prikazuje dugme za povracaj svega u pocetno stanje ponude. Sa pridodanim atributom value mozete odrediti tekst na dugmetu. |
| SUBMIT | Prikazuje dugme za slanje sadrzaja forme serveru, na obradu u cgi-bin direktorij. I ovde se moze koristiti value za natpis. Bez tog, podrazumevani natpis zavisi od autora forme i cgi aplikacije. |
| TEXT | Kreira jednolinijsko polje za upis kratkih tekstova i ide u kombinaciji sa atributima size i maxlenght. |
| TEXTAREA | Kreira prostor za viselinijski tekst (vise redova) dozvoljavajuci upis do 1024 font karaktera. |
| FILE | Sluzi za omogucavanje "kacenja" i slanja fajlova predvidjenih MIME specifikacijom (sve sto moze i email-om). Ta funkcija se moze ograniciti i na samo odredjenu vrstu fajlova upotrebom ACCEPT parametra. Primera radi, za prenos grafike bi to bilo kao <input name=slike type=file accept="image/*"> |
| VALUE | Odredjuje pisani sadrzaj koji ce se pojaviti na nekom elementu ili polju. U zavisnosti od kombinacije atributa u kojoj je primenjen, taj value sadrzaj se moze ili ne moze menjati po zelji klijenta. |
Sledeci tag u izradi formi je <select></select> koji
nazivom govori svoju namenu
I,
na kraju svega, imamo i <textarea></textarea>
tag, vec pomenut kao atribut
a koji isto tako sluzi za kreiranje vise redova polja za pisanje na strani klijenta
Atributi su
Mogucnosti <textarea> elementa se prosiruju na tri nacina.Prvi je <textarea wrap=off> i on odredjuje da se upis ne moze
prelamati u novi red. To je uvedeno zato sto se kod upisa sifri ili drugih brojnih iznosa
to ne sme dogadjati radi pravilne cgi obrade. Drugi je <textarea
wrap=virtual> koji dozvoljava prelamanje pisanog, ali samo na ekranu, dok ce
prilikom slanja to biti isporuceno kao jedan red. Treci nacin je <textarea
wrap=physical> koji prelomljene redove isporucuje na obradu kao takve.
Dakle, sluzi da se klijentu omoguci izbor neke ponudjene opcije od <option>tag elementa koji inace nema svoj opozivni par. Vise
opcija se daje sa vise <option> tagova. Atributi su:
MULTIPLE
Njime se omogucava uvodjene vise
izbora dodavanjem iza select. Na primer, za izbor vise komada neke knjige, oblik bi bio
kao <select multiple name="komada">
NAME
Odredjuje naziv ili vrednost onoga
sto se prosledjuje serveru.
SIZE
U ovom slucaju ovaj atribut ovde
odredjuje broj opcija u ponudi.
SELECT
Vec naslovljeni element koji daje
prikaz selekt ponude.
ROWS
Odredjuje broj redova teksta u polju
za ispisivanje.
COLS
Odredjuje broj stubaca teksta u
polju.
NAME
Odredjuje ime koje se prosledjuje kao
identifikacija.
Ovim se ovo predavanje o formama i zavrsava. Pa, sretno vam eventualno mozganje,
uz napomenu da su forme ipak namenjene profesionalnom bavljenju izrade www-a, dok ce vama mozda
zatrebati tek neka E-mail formica koja se izvrsava pomocu Java Scripts odmah u browseru, to jeste,
putem kompa klijenta, ili neka jednostavna Perl aplikacija za server, poput knjige gostiju,
a o cemu se mozete upoznati ovde levo u DHTML i CGI rubrikama, dok jednu od takvih, na bazi Java Scripta, imate upravo ovde ispod.
Radovanovic Dragan