Visos iki šiol nagrinėtos komandos nesuteikia galimybės aktyviai bendrauti su klientu, peržiūrinčiu puslapį. Todėl yra įvedama nauja HTML komandų rūšis, skirta pačiai įvairiausiai informacijai iš kliento priimti ir specialiu protokolu persiūsti WWW serveriui. Gauta informacija yra perduodama HTML dokumentams su specialios kalbos (pavyzdžiui JavaScript) intarpais arba programoms, rašytoms kažkokia programavimo kalba ir dažnai vadinamoms CGI (Common Gateway Interface) bylomis.
Komanda nustato kliento įvedamų duomenų formą ir perdavimo serveriui parametrus. Komanda turi savo pabaigos žymę </FORM>. Tarp komandos pradžios ir pabaigos žymių gali būti rašomas HTML tekstas ir specialios komandos - formų elementai. Komandos atributai yra:
ACTION="nuoroda" - nurodo, kokiam dokumentui ar bylai bus pasiūsta formos surinkta informacija.
METHOD="protokolas" - nurodo kokiu protokolu bus siunčiama informacija. Dažniausiai naudojamos reikšmės yra GET ir POST.
ENCTYPE="kodavimo tipas" - nurodo, kokiu būdu bus koduojama informacija perdavimo iš kliento kompiuterio į serverį metu, jei pats protokolas automatiškai nesirenka jam reikalingo.
Formos rezultatas susideda iš vardų ir reikšmių porų, kurias sudaro formos elementų atributų NAME reikšmės ir tų elementų duomenys.
Forma turi penkis pagrindinius elementus: komandas INPUT, OPTION, SELECT ir TEXTAREA.
Tai įvedimo laukas, kurio informaciją vartotojas gali redaguoti. Galimi keli šio lauko tipai, apibrėžiami atributu TYPE="tipas". Nuo to koks bus įvedimo lauko tipas priklauso kokie dar bus reikalingi atributai:
TYPE="TEXT" - tai tekstinis laukas, kuriame vartotojas gali užrašyti reikiamą ar norimą informaciją.
TYPE="PASSWORD" - analogiškas TEXT tipo elementui, tik tekstas įvedimo metu nematomas ekrane - jis pakeičiamas vienodais simboliais, dažniausiai '*'.
Papildomi atributai TEXT ir PASSWORD tipo laukams:
SIZE="skaičius" - nurodo, kokio pločio bus tekstinis laukas ekrane.
MAXLENGTH="skaičius" - nurodo maksimalų ženklų kiekį tekstiniam lauke. Gali būti didesnis nei lauko dydis SIZE. Pagal nutylėjimą teksto ilgis ( ženklų skaičius) yra neribojamas.
TYPE="CHECKBOX" - šio tipo laukas realizuoja keleto elementų pasirinkimo iš pateikto sąrašo galimybę. Tai specialus laukas, galintis būti pažymėtas (pasirinkta) arba nepažymėtas (nepasirinkta) . Pagal nutylėjimą reikšmė yra "on" - pažymėtas, bet galimos pačios įvairiausios reikšmės.
TYPE="RADIO" - šio tipo elementas realizuoja vieno varianto iš keleto pateiktų pasirinkimo galimybę. Kiekvienas pasirinkimo laukas priklauso kažkokiai grupei pasirinkimo laukų, iš kurių ir vykdomas pasirinkimas. Vienos grupės pasirinkimo laukai turi turėti tą pati vardą NAME. Į serverį perduodama tik to lauko informacija, kuris bus pasirinktas.
Papildomi atributai CHECKBOX ir RADIO tipo laukams:
CHECKED - nurodo, kad išsirinkimo (radio) arba pasirinkimo (checkbox) elementas yra pasirinktas/išsirinktas. Nepasirinkti/neišsirinkti elementai neperduodami į serverį duomenų perdavimo iš formos metu.
TYPE="IMAGE" - tai grafinio vaizdo tipo laukas, kuris veikia grafinio žemėlapio principu ir leidžia pasirinkus vaizdą visus formos rezultatus perduoti serveriui. Pasirinkto taško koordinatės perduodamos naudojant elemento vardą su papildymais atitinkamai '.x' ir '.y'. Atributai šio tipo laukams:
SRC="nuoroda" - nuoroda į naudojamą grafinio vaizdo bylą.
ALIGN="reikšmė" - grafinio vaizdo padėtis tekste; reikšmės analogiškos tam pačiam atributui IMG komandoje.
TYPE="RESET" - tai mygtuko tipo laukas, kuris realizuoja visų vienos formos laukų reikšmių pakeitimą pradinėmis reikšmėmis, apibrėžtomis VALUE ar kitais atributais.
TYPE="SUBMIT" - tai mygtuko tipo laukas, kuris realizuoja visos formos duomenų perdavimą serveriui.
TYPE="HIDDEN" - tai laukas, kuris yra nematomas HTML dokumente, bet jo reikšmė yra perduodama į serverį. Naudojama specialiai informacijai perduoti arba antrinėse patvirtinimo formose informacijos išsaugojimui.
Komandos atributai, naudojami visų tipų laukams:
NAME=vardas" - apibrėžia elemento vardą. Būtinas atributas, nes yra perduodamas kaip duomenų identifikatorius.
VALUE="reikšmė" - lauko reikšmė, skaitinė arba simbolinė. Reikalinga, jei laukas turi vaizduoti kažkokį tekstą ar reikšmę ar reikšmė, kuri bus perduota į serverį, tuo atveju, jei laukas bus pasirinktas (RADIO tipo laukams).
Formos elementas, skirtas didelių apimčių teksto įvedimui. Tai stačiakampė teksto įvedimo sritis, susidedanti ių tam tikro kiekio matomų eilučių ir stulpelių. Naudojama komanda <TEXTAREA> su šiais atributais:
COL="stulpelių_kiekis" - nurodo, kokio "pločio" bus įvedimo sritis.
ROW="eilučių_kiekis" - nurodo, kokio "aukščio" bus įvedimo sritis.
WARP="tipas" - nurodo žodžių perkėlimo į kitą eilutę tipą. Tai ne matomas ekrane perkėlimas, bet tas, kuris bus naudojamas perduodant informaciją serveriui.Tipai yra keli:
<TEXTAREA WRAP=OFF> - tokia yra reikšmė pagal nutylėjimą ir reiškia, kad jokio žodžių perkėlimo nebus vykdoma ir tekstas bus perduotas taip, kaip jis buvo užrašytas.
<TEXTAREA WRAP=VIRTUAL> - reiškia, kad net jei tekstas rašymo metu bus dalijamas į eilutes, vis tiek visos eilutes bus sujingtos į vieną ilgą eilutę.
<TEXTAREA WRAP=PHYSICAL> - galimas žodžių perkėlimas į kitą eilutę ir tekstas bus perduotas taip kaip buvo užrašytas.
Komandoje, formuojančioje tokį tekstinį lauka turi ir pabaigos žymę </TEXTAREA>. Tarp pradžios ir pabaigos žymių esantis tekstas yra naudojamas kaip pradinis tekstas įvedimo laukui.
Tai dar vienas formos elementas - taipogi leidžiantis pasirinkti vieną elementą iš kelių tik kitokia forma. Pasirenkamos alternatyvos yra išvardijamos naudojantis komanda OPTION. Pats elementas kuriamas naudojantis komanda <SELECT>, o komandos <OPTION> išvardijamos tarp SELECT komandos pradžios ir pabaigos žymių. Pagrindiniai atributai:
MULTIPLE - leidžia vartotojui pasirinkti keletą opcijų vienu metu.
Komanda, apibrėžianti pasirenkamas opcijas komandoje SELECT. Matomus vartotojui opcijų vardus reikia rįšyti iš kart po konkrečios komandos OPTION. Komanda turi keletą atributų:
DISABLED - reikalinga, norint uždrausti rinktis konkrečią opciją.
SELECTED - nurodo pasirinktą pagal nutylėjimą opciją.
VALUE - nurodo, kokie reikšmė bus persiūsta serveriui, jei ši opcija bus pasirinkta.