FORM

Popis
Element FORM umoznuje uzivatelovi poslat nejake informacie WWW serveru. Umoznuje tiez pridat do dokumentu svoje vlastne elementy ako napriklad: prepinace (radio buttons), vstupne textove polia, nastavovace (checkboxes) a ine. Obsah formulara je sekvencia dvojic meno=hodnota odelenych znakom '&'. Meno je nazov polozky formulara (hodnota atributu NAME) a hodnota je obsah polozky (hodnota atributu VALUE). Kazdy par meno=hodnota je URL zakodovany, t.j. medzery su nahraden znakom '+' a niektore znaky su nahradene ich hexadecimalnm kodom. Obsahom formulara by mal byt aspon jeden z elementov: <INPUT>, <SELECT> a <TEXTAREA>.
Pozaduje sa zaciatocny aj koncovy tag. Formulare nesmu byt vnarane!
Minimalne atributy
<FORM ACTION=URL> </FORM>
Vsetky mozne atributy
<FORM ACTION=URL METHOD=Get|Post ENCTYPE="..."> </FORM>
Moze obsahovat elementy
Moze obsahovat hlavicky, blokove elementy (okrem elementu FORM - formulare sa nesmu vnarat), textove elementy, element ADDRESS a elementy INPUT, SELECT a TEXTAREA.
Povoleny v ...
Vo vsetkych elementoch (okrem FORM), ktore mozu obsahovat blokove elementy.
(BODY, DIV, CENTER, BLOCKQUOTE, TH, TD, DD, LI)
Popis atributov
ACTION
Tento atribut je vzdy nutny a specifikuje URL k serveru, ktory ma formular spracovat, alebo k CGI skriptu, ktory spracuje formular a naspat posle odpoved. Napriklad:

ACTION="mailto:foo@bar.com" specifikuje mailto URL (t.j. formular sa posle postou danemu uzivatelovi)
ACTION=http://www.acme.com/cgi-bin/register.pl specifikuje URL k CGI skriptu ktory dany formular spracuje.

METHOD
Specifikuje sposob poslania obsahu formulara serveru. Moze mat dve hodnoty:
METHOD=Get
Tato metoda je standardna a sposobi ze obsah formulara sa pripoji k URL k CGI skriptu definovanej atributom ACTION. Na vacsine systemov to sposobi nastavanie premennej QUERY_STRING prostredia.
METHOD=Post
Tato metoda je viac uprednostnovana nez metoda Get. Touto metodou sa data poslu tak, ze na strane servera su prisupne zo stdin a nastavi premennu CONTENT_LENGTH prostredia. Tato metoda umoznuje poslat vacsie objemy dat ako metoda Get a naviac sa zakodovany obsah formulara nezobrazuje v URL.
ENCTYPE
Urcuje mechanizmus kodovania pouzity pri kodovani obsahu formulara. Standardne je nastaveny na application/x-www-form-urlencoded (je najviac podporovany). Ina moznost je text/plain ktora sa pouziva s atributom ACTION ukazujucim na mailto URL.
Dodatok
Formular by mal mat aspon jedno odosielacie tlacitko (submit button). Tlacitko sa moze vytvorit napriklad pomocou: <INPUT TYPE=sumit NAME=submitit alebo <INPUT TYPE=image NAME=submitit. Je mozne mat viacej odosielacich tlacitok. Ak ma kazde tlacitko odlisny nazov (atribut NAME), Posle sa nazov stlaceneho tlacitka spolu s obsahom formulara. Umoznuje to obsluhujucemu skriptu zistit ktorym tlacitkom bol formular poslany.

Zopar prikladov

INPUT

Popis
Element INPUT je asi vseobecnosti najuzitocnejsi element vo formularoch. Pomozou neho mozeme vytvorit tlacitka, vtupne polia, spinace. Typ sa da urcit atributom TYPE. Standardne je nastaveny na TYPE=text, t.j. jednoriadkove textove vstupne pole. Kazdy element INPUT by mal mat nastaveny atribut NAME. Pozaduje sa zaciatocny tag. INPUT nie je kontainer a tak je pripadny koncovy tag ignorovany.
Minimalne atributy
<INPUT>
Vsetky mozne atributy
<INPUT TYPE=text|password|checkbox|radio|submit|reset|file|hidden|image NAME="..." VALUE="..." CHECKED SIZE=# SRC=Url ALIGN=top|middle|bottom|left|right>
Moze obsahovat elementy
INPUT nema definovany ziaden obsah.
Povoleny v ...
<FORM>
Popis atributov
TYPE
Poziva sa na urcenie typu vstupneho pola.
TYPE=text (standardne)
Jednoriadkove vstupne textove pole, ktoreho viditelna velkost sa da nastavit atributom SIZE napr. SIZE=40 pre pole siroke 40 znakov. Uzivatelia mozu napisat text dlhsi ako dana velkost tak, ze text sa roluje smerom do lava. Da sa nastavit aj maximalna dlzka pisaneho textu a to atributom MAXLENGTH. Atribut NAME sa pouziva na pomenovanie pola a atribut VALUE na inicializaciu vstupneho textu ked sa dokument nahra prvykrat.
    <INPUT TYPE=text SIZE=40 NAME=user VALUE="Tvoje meno">
TYPE=password
Tento typ je podobny typu text ale zobrazovane znaky sa z dovodov bezpecnosti nahradzuju znakom '*'. Na riadenie maximalnej vstupnej dlzky a viditelnej dlzky sa daju pouzit atributy SIZE a MAXLENGTH.
    <INPUT TYPE=password SIZE=12 NAME=pw>
TYPE=checkbox
Pouziva sa na polia (spinace), ktore mozu mat boolovsku hodnotu (0, 1; TRUE, FALSE; YES, NO). Niekedy sa pouziva skupina spinacov s rovnakym nazvom (hodnota atributu NAME a roznou hodnotou atributu VALUE. Kazdy zaskrtnuty spinac vygeneruje v odoslanych datach (tlacitkom s TYPE=submit) jeden par Meno=Hodnota. Vygeruje sa aj vtedy ak to znamena duplicitu nazvov. Ak atribut VALUE nie je udany, hodnota spinaca je bud on alebo off. Na pociatocnu inicializaciu spinaca je mozne pouzit atribut CHECKED.
    <INPUT TYPE=checkbox NAME=mono CHECKED>

    <INPUT TYPE=checkbox NAME=mam_rad VALUE=jahody>
    <INPUT TYPE=checkbox NAME=mam_rad VALUE=cokolada>
    <INPUT TYPE=checkbox NAME=mam_rad VALUE=zmrzlina>
TYPE=radio
Pouziva sa na vyber jednej hodnoty z mnoziny moznych alternativ. Kazda polozka prepinaca v skupine je dana rovnakym menom (hodnota atributu NAME). Prepinace pozaduju atribut VALUE, ktory udava hodnotu prepinaca (zvolenej alternativy). Zo skupiny prepinaca sa v odoslanych datach vygeneruje par Meno=Hodnota iba zvolenej alternativy.
    <INPUT TYPE=radio NAME=vek VALUE="0-12">
    <INPUT TYPE=radio NAME=vek VALUE="13-17">
    <INPUT TYPE=radio NAME=vek VALUE="18-25 CHECKED">
    <INPUT TYPE=radio NAME=vek VALUE="26-35">
    <INPUT TYPE=radio NAME=vek VALUE="36-">
TYPE=submit
Tento typ definuje tlacitko, ktorym sa obsah formulara (element FORM) odosle serveru. Napis na tlacitku je dany atributom VALUE. Standardny napis je "Submit Query". Ak je vo formulari viac odosielacich tlacitok, v odoslanych datach sa vygeneruje par Meno=Hodnota toho tlacitka, ktorym bol formular odoslany. Daju sa vyrobit aj obrazkove odosielacie tlacitka (pozri TYPE=image).
    <INPUT TYPE=submit VALUE="Odoslat">
TYPE=image
Definuje odosielacie tlacitko, ktoreho obsah nie je text ale obrazok. URL k obrazku je specifikovana atributom SRC. Rozne sposoby zarovnanie obrazka su dane atributom ALIGN. V tomto ohlade su obrazkove odosialacie tlacitka identicke s elementom IMG, takze zarovnanie mozno nastavit na: left, right, top, middle, bottom. Pozicia kurzora na obrazku (suradnice x, y) sa odosle serveru. V odoslanych datach su dva pary: Meno.x=x_sur a Meno.y=y_sur; kde Meno je meno tlacitka (atribut NAME) a x_sur a y_sur su x-ova a y-ova suradnica kurzora na obrazku.

Poznamka: Obrazkove polozky formularov zvycajne sposobuju problemy textovym prezeracom.

TYPE=reset
Definuje tlacitko, ktorym uzivatel moze mastavit formular do jeho inicializacneho stavu ked sa dokument nahral prvykrat. Resetovacie tlacitko sa nikdy neposiela spolu s ostatnym obsahom formulara. Standardny text na tlacitku je: "Reset" ale da sa zmenit atributom VALUE.
    <INPUT TYPE=reset VALUE="Odznova">
TYPE=file
Umoznuje uzivatelovi vybrat jeden subor (ci skor jeho nazov). Tato polozka formulara je zvycajne vykreslova ako jednoriadkove textove vstupne pole ku ktorej je pripojene tlacitko sluziace na zobrazenie nazvov suborov a vyber jedneho z nich. Nazov suboru moze byt zadany aj priamo vo vstupnom textovom poli. Ako pri TYPE=text je mozne nastavit sirku textoveho pola (atributom SIZE) a maximalnu dlzku textu, teda nazvu suboru (atributom MAXLENGTH). Niektore prezerace podporuju schopnost obmedzit vyber suborov na jednotlive, ciarkou oddelene MIME typy v atribute ACCEPT. Napriklad: ACCEPT="image/*" obmedzi subory iba na vsetky typy obrazkov. Podrobnejsie informacie su v RFC 1867.
    <INPUT TYPE=file NAME=obrazok ACCEPT="image/*">
TYPE=hidden
Polozky takehoto typu sa nezobrazuju a preto uzivatelie nemaju moznost menit ich. Su uzitocne ak je dokument vygenerovany pomocou skriptu a je potrebne uchovat stavovu informaciu. tieto polozky sa poslu serveru bez zmeny tak, ze sa pre kazdu skrytu polozku pouzije par Meno=Hodnota definovany prislusnymi atributmi.
NAME
Udava nazov polozky formulara. Pomocou tohoto nazvu dokaze server jednotlive polozky formulara identifikovat.
VALUE
Pouziva sa na inicializaciu polozky alebo udava textove navestie pre odosielacie a resetovacie tlacitko.
CHECKED
Urcuje ci/aka polozka spinaca (checkbox) alebo prepinaca (radio button) je standardne nastavena/vybrana.
SIZE
Udava viditelnu velkost polozky v nasobku priemernej sirky znaku. Ak nie je udany potom velkost zavisi od prezeraca.
MAXLENGTH
Nastavuje maximalnu dlzku textoveho vstupu v znakoch.
SRC
Specifikuje URL k obrazku, ktory sa pouzije ako odosielacie tlacitko.
ACCEPT
Pri atribute TYPE=file urcuje MIME typy suborov, z ktorych je mozno vybrat. Tento atribut podporuje iba niekolko prezeracov.
ALIGN
Pouziva sa na urcenie zarovnania grafickeho odosielacieho tlacitka. Je definovane rovnako ako atribut ALIGN elementu IMG a moze mat tieto hodnoty:
ALIGN=left
zarovnanie k lavemu okraju
ALIGN=right
zarovnanie k pravemu okraju
ALIGN=top
zarovnanie k hornemu okraju riadku
ALIGN=middle
zarovnani k dolnemu okraju riadku
ALIGN=bottom
zarovnanie na stred riadku
Dodatok

Zopar prikladov

SELECT

Popis
Element SELECT sa pouziva na vyber volby 1 z n alebo m z n. Pozaduje sa zaciatocny a koncovy tag. Polozky zoznamu z ktoreho sa vybera su tvorene elementami OPTION. Vyber 1 z n je tvoreny roletovym menu. vyber m z n sa zobrazuje ako zoznam poloziek.
Minimalne atributy
<SELECT NAME="..."><SELECT>
Vsetky mozne atributy
<SELECT NAME="..." SIZE=# MULTIPLE><SELECT>
Moze obsahovat elementy
Aspon jeden element OPTION.
Povoleny v ...
<FORM>
Popis atributov
NAME
Udava nazov menu. Kazda vybrata volba z menu vygeneruje pri odoslani formulara jeden par Meno=Hodnota, kde Hodnota je meno prave vybratej polozky (hodnota atributu VALUE elementu OPTION).
SIZE
Nastavuje pocet viditelnych poloziek zobrazeneho menu. Standardne je nastaneny na 1.
MULTIPLE
Oznamuje prezeracu, ze z menu je mozne vybrat (oznacit) viac ako jednu polozku. Ak uvediete tento atrribut, je vhodne nastavit atribut SIZE na hodnotu vacsiu ako 1.
Dodatok
Ak sa rozhodnete pouzit tento element, nedavajte v dokumente navod, ako s menu pracovat. Tento postup zavisi od typu prezeraca a platformy takze vase "instrukcie" by mohli byt zle a mohlo by dojst k nedorozumeniam.

Zopar prikladov

OPTION

Popis
Predstavuje jednu polozku menu tvoreneho elementom SELECT. Polozky mozu byt oznacene ako standardne vybrate. Pozaduje sa zaciatocny tag. Koncovy tag je volitelny.
Minimalne atributy
<OPTION> text ...
Vsetky mozne atributy
<OPTION VALUE="..." SELECTED> text ...</OPTION>
Moze obsahovat elementy
OPTION moze obsahovat iba cisty text. Nesmie obsahovat ziadne dalsie elementy.
Povoleny v ...
<SELECT>
Popis atributov
VALUE
Urcuje hodnotu (nazov) polozku menu. Tato sa spaja s nazvom samotneho menu (element SELECT).
SELECTED
Oznamuje prezeracu, ze tato volba je vybrata standardne (pri natiahnuti/inicializacii dokumentu). Je chybou davat do menu s vyberom 1 z n viac standardne vybratych poloziek.
Dodatok
Ak nie je definovany atribut VALUE, ako vybrata polozka sa vrati obsah elementu. Ak je definovany, vrati sa jeho hodnota.

Zopar prikladov

TEXTAREA

Popis
Tento element sluzi na vstup viacriadkoveho textu vo formularoch (element FORM) narozdiel od elementu <INPUT TYPE=text>, ktory umoznuje vstup iba jedneho riadku textu. Obsah elementu sluzi na inicializaciu. Pozaduje sa zaciatocny aj koncovy tag.
Minimalne atributy
<TEXTAREA NAME="..." ROWS=# COLS=#> </TEXTAREA>
Vsetky mozne atributy
<TEXTAREA NAME="..." ROWS=# COLS=#> text ... </TEXTAREA>
Moze obsahovat elementy
Element TEXTAREA moze obsahovat iba cisty text a pomenovane znakove entity.
Povoleny v ...
<FORM>
Popis atributov
NAME
Udava nazov pola. Je potrebny za ucelom identifikacie poloziek formulara vo vyslanych datach.
ROWS
Specifikuje pocet viditelnych riadkov textu. Prezerace mozu umoznit vstup aj viacerych riadkov tak, ze text sa jednoducho odroloje smerom nahor.
COLS
Specifikuje viditelnu sirku textu v nasobkoch premernej sirky znaku. Prezerace mozu dovolit vstup aj dlhsich riadkov tak, ze ak dlzka riadku pri pisani presiahne nastevenu hodnotu, cely text sa posunie dolava o jeden znak.
Dodatok
Nie vsetky prezerace posielaju riadky zalomene tak, ako ich uzivatel vlozil. Preto by to mal urobit prislusny skript dany atributom ACTION elementu FORM.

Netscape 2.0 zaviedol atribut WRAP (nie je castou HTML 3.2), ktory riadi zarovnavanie slov na konci riadku.

WRAP=off
Toto je standartne a slova sa zobrazuju tak ako sa pisu (teda sa automaticky neodsadzuju do dalsieho riadku).
WRAP=virtual
Dlhe slova na koncoch riadkov sa odsadzuju iba pri zobrazovani. Text v pamati ostava fyzicky nezmeneny.
WRAP=physical
Slova sa odsadzuju fyzicky (t.j. v pamati aj pri zobrazovani) a tak sa aj odoslu.

Zopar prikladov