JavaScript: űrlap elemek kezelése

JavaScript

Ebben a tutorialban az űrlap elemek adatainak elérését, illetve az űrlap elemek tulajdonságait nézzük meg. A html DOM segítségével gyakorlatilag minden tulajdonságot elérhetünk, módosíthatunk.

Input mező tulajdonságai

value: input mező aktuális értéke

type: input mező típusa (pl. text, password, email, number, range stb.)

name: input mező neve

id: input mező egyedi azonosítója

placeholder: az input mezőben megjelenő helyőrző szöveg

disabled: logikai érték, amely meghatározza, hogy az input mező le van-e tiltva

readonly: logikai érték, amely meghatározza, hogy az input mező csak olvasható-e

required: logikai érték, amely meghatározza, hogy az input mező kötelező-e

maxLength, minLength: a beírható karakterek maximális illetve minimális száma.

size: az input mező látható szélessége (karakterek száma)

pattern: reguláris kifejezés, amely meghatározza az input mezőben megadható érték formátumát

autofocus: logikai érték, amely meghatározza, hogy az input mező automatikusan fókuszt kapjon-e az oldal betöltődésekor

autocomplete: meghatározza, hogy az input mező automatikus kitöltése engedélyezett-e

multiple: logikai érték, amely meghatározza, hogy az input mező több értéket is elfogad-e (csak bizonyos típusoknál, pl. file, select)

Metódusok

focus(): az input mező fókuszba helyezése

blur(): az input mező fókuszának eltávolítása

select(): az input mezőben található szöveg kijelölése

Események

change: az input mező értékének megváltozásakor

input: az input mező értékének bármilyen változása (valós időben)

focus: az input mező fókuszba kerülésekor

blur: az input mező fókuszának elvesztésekor

keydown, keyup, keypress: billentyű események

Beviteli mező értékének kiolvasása, képek kezelése

Szövegbeviteli mező: a bevitt adatot a value tulajdonsággal érhetjük el. Magát a beviteli mezőt az id segítségével azonosítjuk ebben a példában. Meg tudjuk vizsgálni, azt is, hogy írt-e bármit a felhasználó mezőbe?

Dátum mezők: Ezek is szövegbeviteli mezők, de csak dátum formátumba lehet megadni az értéket. A bevitt érték milisecundumban értendő! Tehát ne felejtsd el átváltani!

Range, csúszka. Ennél az űrlap elemnél is a value tulajdonság a fontos, ezt kell elérnünk. Egy id segítségével beazonosítjuk a csúszkát, majd kinyerjük belőle az értéket. Ebben a példában egy szövegbeviteli mezőbe írjuk ki a csúszka értékét. Ha ennek a szövegbeviteli mezőnek nincs értéke, akkor a felhasználó nem nyúlt a csúszkához.

select – a legördülő menü, ami lehet fix is ha adunk neki méretet. Ebben az esetben is a value a lényeg. Select esetében lehet akár egyszerre több elemet is kiválasztani, a multiple tulajdonság megadásával.

Képek kezelése. Tegyük fel, hogy 4db kép közül kell egyet kiválasztani! Ennek a képnek a betűjelét pedig kiíratjuk egy szövegbevtieli mezőbe. A kiválaszott képnek adjunk egy 1px vastag zöld szegélyt.
Tehát amelyik képen kattintunk, az kap egy selected nevű css osztályt, ami leírja, hogy legyen neki kerete. Minden képnek van egy onclick eseménye, ami saját magára, az adott képre hivatozik. A fgvKepValaszt(img) függvény tehát 1 paramétert kap, az adott képet, amin kattintunk.
(Tehát az img az adott képet jeleni, annak minden tulajdonságával együtt)
A fgvKepValaszt(img) összes képről leveszi a selected osztályt, majd csak a kiválsztott képhez adja hozzá.

Több kép kiválasztása. Módosítsunk kicsit az előző feladaton, engedjük meg, hogy több képet is ki lehessen választani!

checkbox Ebben az esetben is lehet egyszerre több érték kijelölve, tehát végig kell menni mindegyiken, és megvizsgálni, melyik van bepipálva. A checkboxokat jelen esetben a nevük alapján azonosítottuk, de lehetne osztály, vagy id alapján is. Az értékeiket egy tömbben fogjuk tárolni. Ha a tömb elemszáma 0, akkor nem jelölt be semmit a felhasználó.

radio buttons: A rádio gombokat a nevük segítségével lehet azonosítani. Ez azért van így, mert a rádiógombok ugyanabba a csoportba tartoznak, és a name attribútum segítségével lehet biztosítani, hogy a csoportból egyszerre csak egy legyen kiválasztva. Rádio gombok esetén a checked tulajdonságot kell figyelni.