Tag <form> </form> govori browseru gdje obrazac počinje i gdje završava. Unutar ova dva taga može se smjestiti bilo koji HTML tag, a to znači da se unutra može ubaciti slika, tablica ili pak nešto treće. Najjednostavniji oblik obrasca može izgledati ovako.
ovaj code | stvara ovo |
<FORM> ime: <INPUT><BR> email: <INPUT> </FORM> |
2.1 Atributi FORM taga
action="URL"Određuje put do PHP, CGI, ASP... skripte (procesa) koja će obraditi unesene podatke kad kliknemo na SUBMIT dugme.
Npr. može biti:
action="../cgi-bin/mojaskripta.pl" Pearl skripta,
action="../mojaskripta.php" PHPskripta,
action="../cgi-bin/mojaskripta.cgi" CGI skripta,
action="http://domena.om/cgi-bin/nekaskripta.asp" ASP skripta na serveru
različitom od našeg,
action="javascript: nekafunkcija();" JavaScript skripta u našem html dokumentu,
action="http://novadomena.com/strana.html" otvara novi html dokument,
action="mailto: ime@domena.com" otvara e-mail client
(slično kao kod <a href="mailto:...">).
method="GET | POST"
Određuje na koji način će se podaci (varijable) proslijediti do skripte. Postoje samo dva načina GET ili POST. Default je GET, a to znači da ako izostavimo ovaj atribut da će se podaci tako prosljeđivati do skripte.
Ako je method="GET" tada se uneseni podaci prosljeđuju do servera kao dio
URL-a i mogu se vidjeti u location baru vašeg browsera. Npr.
http://domena.com/skripta.php?boja=plava&oblik=kockast
sadrži dvije varijable (podatka): boja čija je vrijednost plava i oblik s vrijednošću kockast.
Dakle, sve iza upitnika jesu varijable i njihove vrijednosti.
Ova metoda ima dva ograničenja.
Prvo, pomoću ove metode može se poslati ograničena količina informacije
npr. 256byte ili 1kB što ovisi o serveru na kojem je obrazac i o serveru na kom je skripta.
Drugo, podaci koji se šalju mogu se vidjeti u adress tj. location baru
browsera. Ovo iz sigurnosnih razloga ponekad nije dopustivo. Npr. ako šaljete broj kreditne kartice :-)).
No ponekad će ovo biti poželjno, ako npr. želimo da cjelokupni
URL zajedno s varijablama ostane u Favorites-u kada nas korisnik doda u Favorites.
Dakle, ova metoda je poželjna samo ukoliko se radi o malo podataka koji
ne zahtijevaju neku veliku sigurnost. Također njezina upotreba je poželjna kod action="mailto:".
Metoda method="POST" je češća jer nema takva ograničenja. Dobro je da POST napišete
velikim slovima jer 'post' možda neće raditi. POST je metoda koja prosljeđuje varijable obrasca kao blok podataka http
protokola. Ne kužite ? Nema veze ! Ali ovo zapamtite: Ova metoda služi za pozivanje JavaScript funkcije.
Trenutno večina browsera i servera ima ograničenje od 32kB za GET metodu dok POST može poslati
znatno više informacija.Nešto je sigurnija od GET no budući da se radi o slanju čistog texta postoji mogućnost
da vam podaci budu "oteti".
Neke skripte dozvoljavaju upotrebu i POST i GET dok kod nekih se isključivo mora upotrijebiti POST i o
tome vodite računa pogotovo kad podatke šaljete na skriptu čiji stvoritelj niste Vi. Preporuka: Ako vaši podaci ne sadrže
ASCII znakove ili ako su podaci veći od 100 znakova upotrijebite POST.
Više o primjeni GET i POST pogledajte u lekciji 'Varijable'.
enctype="application/x-www-form-urlencoded | multipart/form-data | text/plain"
Atribut enctype određuje metodu po kojoj će se enkodirati uneseni podaci. Što je to enkodiranje i čemu ono služi?
Npr. zamislimo da smo napravili nekakav obrazac u koji će potencijalni korisnici unositi podatke. Ti podaci će
biti poslani nekakvoj skripti na nekakvom serveru kada korisnik klikne na submit dugme. Pitanje je da li će podatke
skripta prepoznati ako nije postignut nikakav dogovor između korisnikovog browsera i servera. Pa, vjerojatno da neće.
E upravo taj dogovor je jedna od enctype metoda (application/x-www-form-urlencoded ili multipart/form-data ili text/plain).
Browser automatski enkodira unesene podatke u ovisnosti o enctype metodi. Enkodiranje pretvara specijalne ne-alfanumeričke
znakove tako da ih skripta na serveru može prepoznati. Također umeće separatore između blokova podataka.
U večini slučajeva ovaj atribut uopće nećete morati koristiti.
Predefinirano je application/x-www-form-urlencoded što je dovoljno za večinu tipova podataka.
Ukoliko želite izvršiti file upload koristit ćete multipart/form-data.
Ako pak koristite action="mailto:" upotrijebit ćete text/plain.
name="string"
Atribut name dodjeljuje ime našem obrascu.
Npr. ako smo obrazac definirali s
<form name="moj_obrazac"></form>
tada će se obrazac moći pozvati kroz JavaScript objekt kao
window.document.moj_obrazac.name; umjesto
window.forms[0].name; .
No o tome u 'Javascript priručniku', a dotle nemojte s
opterećivati ovim atributom nego samo prijeđite dalje.
target ="_blank | _self | _parent | _top"
Ovaj atribut određuje kojem okviru (frame-u) će se podaci proslijediti ako imamo frameset dokument. On omogućava da nam obrazac bude stalno prisutan u prozoru browsera. Sve o ovom atributu pogledajte u knjizi 'HTML Frames'.
ostali neobavezni atributi
Ostale atribute ćemo samo spomenuti no oni nisu toliko važni. To su:
onSubmit
Ovaj atribut je JavaScript metoda. Omogućava izvršavanje skripte kad se pritisne na submit dugme.
onReset
Ovaj atribut je JavaScript metoda. Omogućava izvršavanje skripte kad se pritisne na reset dugme.
accept
Daje popis MIME tipova odvojenih zarezom koje će server prihvatiti.
accept-charset
Daje popis znakovnih setova odvojenih zarezom koje će server prihvatiti.
Tu su još i standardni atributi koji se mogu koristiti kod svih tagova a to su:
id, class, title, style, dir, lang, xml:lang