15 - HTML5 - Vorm ja selle elemendid I PDF Trüki
Kirjutas Mario Metshein   

Eesmärk

Selles ja järgmises peatükis vaatame mis asjapulgad on vormi elemendid, kuidas need töötavad, millised elemendid eksisteerivad, kuidas neid luua, millised on nende parameetrid ja mida uut toob HTML5

Mis on HTML vorm?

Vorm (form, web form) HTML element, mis võimaldab kasutajal saata erinevaid andmeid veebiserverile. See võimaldab näiteks kasutada otsingukasti, logida või registreerida end veebilehel, anda tagasisidet jne. Veebilehe administraatorid kasutavad näiteks vorme uudiste lisamiseks. HTML5 versiooniga arendatakse välja Forms 2.0

Kuidas vormid töötavad

 Vormid koosnevad kahest osast. 

  1. Esimene osa on see mida kasutaja näeb veebilehel - HTML tekstiväljad, nupud, valikukastid jne
  2. Teise osa moodustab andmeid töötlev veebiserver, mis reeglina saadab vastuse tagasi kasutajale. (näiteks php) 
Võtame näiteks lihtsa registreerimisvormi:
  1. kasutaja täidab nõutud HTML vormi väljad
  2. HTML siseselt määratakse milliste tekstiväljadega on tegemist (tekst, parool ja e-post)
  3. HTML siseselt kontrollitakse kas paroolid ja e-post ühtivad
  4. vajutades nupule 'Registreeru' saadetakse nimi, parool ja email veebiserverile
  5. veebiserverisse paigaldatud php lisab uue kasutaja andmebaasi ja saadab kasutajale teksti õnnestumise kohta.

59.jpg

HTML abil saame luua vaid seda vormi visuaalset osa. Selle mooduli eesmärgiks ongi vaadata millised on vormi osad ja mis on nende võimalused, sest HTML5 on teinud päris palju muudatusi.

Vormi loomine

Vormi loomisel tuleb kõik elemendid lisa <form> siltide vahele. Lisaks vormi elementidele võib siia lisada ka teisi HTML elemente - näiteks pealkirjad, tabelid, pildid jne. Kindlasti on keelatud asetada üks <form> element teise <form> sisse.

  1. <form>
  2.   <!-- vormi elemendid siia -->
  3. </form>

Selleks, et vormi andmeid töödelda, tuleb meil kirja panne fail, mis seda teeb. Selleks kasutame <form> elemendi parameetreid action ja method.

  1. <form action="reg.php" method="post">
  2.   <!-- vormi elemendid siia -->
  3. </form>
  • action - võimaldab meil lisada protsessifaili URL aadressi. Reeglina .php, .asp või .jsp faililaiendiga.
  • method -  määrab ära andmete saatmise viisi serverisse - POST või GET

HTML5 versiooniga lisandus <form> elemendile juurde 2 parameetrit:

  • autocomplete - hetkel toetab seda ainult Opera 9.0+. See võimaldab kasutajal eelsalvestatud andmeid kohe väljadele lisada.
    1. <form action="reg.php" method="post" autocomplete>
    2.   <!-- vormi elemendid siia -->
    3. </form>

     60.jpg

  • novalidate -  kasuta, kui sa ei soovi, et vormi valideeritakse

Vormielementide grupeerimine

Vormi elemendid on mõtekas grupeerida, eriti kui andmeid on palju. Kindlasti ei ole see kohustuslik. Loome registreermislehe, kus esimese osa väljad on kohustuslikud. Grupi loomiseks kasutame <fieldset> elementi ning grupile nime andmiseks <legend> elementi.

  1. <form action="reg.php" method="post" autocomplete>
  2.   <legend>Kohustuslik info</legend>
  3.     <!-- vormi elemendid siia -->
  4.   </fieldset> 
  5. </form>

 61.jpg

Sisestusväljad

Sisestusväljad on HTML vormi elemendid, mille abil saab kasutaja serverile infot saata. Sisestusvälja elemendid lisatakse <input> siltide vahele. Vastavalt type parameetrile saab need jagada gruppideks:

  • tekstid
  • numbrid
  • paroolid
  • ripploendid
  • valikukastid
  • nupud
  • kuupäevad 
  • emailid
  • telefoninumbrid
  • faili sirvimised
  • veebiaadressid
  • jne

Tekst

Teksti välja määramiseks kasutame type="text" parameetrit.

  1. <form action="reg.php" method="post" autocomplete>
  2.   <fieldset>
  3.   <legend>Kohustuslik info</legend>
  4.     <input type="text">
  5.   </fieldset> 
  6. </form>

62.jpg

Ilma muude parameetritega luuakse vaikimisi pikkusega kast, kuhu saate sisestada ükskõik milliseid sümboleid. Aga selleks, et kasutaja ka teaks, millist infot sa soovid, siis tuleb igale sisestusväljale panna juurde silt <label>

  1. <form action="reg.php" method="post" autocomplete>
  2.   <fieldset>
  3.   <legend>Kohustuslik info</legend>
  4.     <label>Kasutajanimi: </label><input type="text"><br>
  5.   </fieldset> 
  6. </form>

63.jpg

 Vormi elemendid on kõik reasisesed ning seega kui soovid, et elemendid hakkaks uuelt realt kasuta reavahetust <br>.

  1. <form action="reg.php" method="post" autocomplete>
  2.   <fieldset>
  3.   <legend>Kohustuslik info</legend>
  4.     <label>Kasutajanimi: </label><br />
  5.     <input type="text"><br>
  6.   </fieldset> 
  7. </form>

64.jpg

Sisestusvälja nimi 

Kuna sisestusvälju on veebilehel rohkem kui üks, siis tuleb neile anda ka nimed. Kasutage selleks name parameetrit

Nime valimisel vältige täpitähti, tühikuid ja muid erisümboleid.

  1. <input name="kasutaja" type="text">

Paroolid

Paroolivälja eesmärk on kuvada sisestatud parool tärnidena, et kõrvalseisjad iskud, ei näeks sinu parooli.

  1. <form action="reg.php" method="post" autocomplete>
  2.   <fieldset>
  3.   <legend>Kohustuslik info</legend>
  4.     <label>Kasutajanimi: </label><input name="kasutaja" type="text"><br>
  5.     <label>Parool: </label><input name="parool" type="password"><br>
  6.   </fieldset> 
  7. </form>

65.jpg

E-kiri ja veebiaadress

Kasutades sisestusvälja tüübina type="email" või type="url", saame kaasa automaatse väljade valideerimise, juhuks kui kasutaja tegi selle sisestamisel vea.

  1. <form action="reg.php" method="post" autocomplete>
  2.   <fieldset>
  3.   <legend>Kohustuslik info</legend>
  4.     <label>Kasutajanimi: </label><input name="kasutaja" type="text"><br>
  5.     <label>Parool: </label><input name="parool" type="password"><br>
  6.     <label>E-kiri: </label><input name="ekiri" type="email">
  7.   </fieldset> 
  8.   <fieldset>
  9.   <legend>Lisa info</legend>
  10.     <label>Veebiaadress: </label><input name="www" type="url"><br>
  11.   </fieldset> 
  12.   <input value="registreeru" name="reg" type="submit">
  13. </form>

 66.jpg

Nuppude lisamine

Et vorm saaks saata andmeid serverile saata, peab vormile lisama submit nupu. Eelmist koodi jälgides me seda juba tegime ja et nupul oleks ka mingisugune tekst lisame parameetri value. Ja nupud jäävad ka <form> elemendi sisse.

  1. <input value="registreeru" name="reg" type="submit">

Teine nupp mida vorm vahel vajab on väljade puhastamise nupp ehk reset.

  1. <input value="registreeru" name="clr" type="reset">

Sisestusväljade parameetrid

Lisaks endistele on HTML5 lisanud palju uusi huvitavaid parameetreid sisestusväljadele. Enamus vormi elemente töötab hetkel vaid valitud veebilehitsejatega ja sedagi erinevalt. Hetkel on siis veebiarendajal soovitus proovida vormid läbi erinevate veebilehitsejatega.

Kui ära karda neid kasutada, sest HTML5 on ülesehitatud selliselt, et kui ta antud parameetrit ära ei tunne, siis käivitab ta vaikimisi seaded ja vorme saab ikka kasutada.

  • autofocus - töötab Google Chrome'iga, võimaldab veebilehe laadimisel muuta lahter kohe aktiivseks
  • placeholder - töötab Google Chrome'iga, lahtrisse lisada abiteksti
  • autocomplete - töötab Opera 9.0+, võimaldab kasutada eelsalvestatud andmeid
  • required -  töötab Opera 9.0+, selle lisades, ei tohi kasutaja välja tühjaks jätta
  • maxlength - määrab maksimum lubatud märkide arvu
  • novalidation - keelab igasuguse andmete valideerimise sinu elemendis
Lisame need parameetrid meie vormielementidele:
  1. <form action="reg.php" method="post" autocomplete>
  2.   <legend>Kohustuslik info</legend>
  3.     <label>Kasutajanimi: </label><input name="kasutaja" type="text" placeholder="siia kasutajanimi" maxlength="6"><br>
  4.     <label>Parool: </label><input name="parool" type="password" placeholder="min 8 märki" required><br>
  5.     <label>E-kiri: </label><input name="ekiri" type="email" placeholder="emailile saadetakse kinnitus">
  6.   </fieldset> 
  7.   <legend>Lisa info</legend>
  8.     <label>Veebiaadress: </label><input name="www" type="url" autofocus placeholder="http://www.kodukas.ee" alt="http protokoll nõutav"><br>
  9.   </fieldset> 
  10.   <input value="puhasta väljad" name="clr" type="reset">
  11.   <input value="registreeru" name="reg" type="submit">
  12. </form>

67.jpg 

 

 

 

 
< Järgmine   Eelmine >

Lingid

ooo.jpeg getnotepad.jpg getsketchup.jpg

Viimati lisatud failid

HKHK esitlusmall
2009-09-05
Small Icons - 700tk
2008-06-30
Flag Icons
2008-06-30

Menüü

Foorum
Galerii