< WebKészítés /> interaktív webszerkesztő tananyagok
Űrlapok és elemeik
A honlapok gyakran nem csak adatokat közlő, hanem fogadó felületek is. Adódik a probléma: hogyan kaphatunk visszajelzéseket a felhasználóktól? Űrlapok (angolul form-ok) bevezetésével biztosíthatunk a felhasználónak különböző beviteli mezőket, miket tovább küldhetünk egy feldolgozó programnak. A lényeg ennyi, lássuk a megvalósítást!
A <form> </form>
blokk egység tartalma lesz elküldve, a rajta kívül eső rész nem. Lássuk hogyan! Kötelező attribútum az action
, mely egy külső kiértékelő programra mutat. Ez általában egy PHP, ASP vagy Perl kód. Róluk a későbbiekben olvashatunk. Fontos még a method
is, mely a küldési technika módját rögzíti. Értéke lehet a GET
és a POST
. Ha nincs kitéve, akkor alapértelmezés szerint a GET
lesz. A két eset annyiban különbözik egymástól, hogy a GET
-tel az URL-ben (pl: index.php?nev=ertek) látható módon közli az adatokat a szerverrel és korlátozott karakterszámban, a POST
pedig elrejtve, a dokumentum fejlécében küldi tetszőleges karakterszámban. (Fájl feltöltés esetén csak ez utóbbi használható, és ki kell még egészíteni <form>
-unkat az
sorral.)enctype
="multipart/form-data"
Érdemes a beviteli mezőket a <fieldset> </fieldset>
közé elhelyezni, ezzel csoportosítani őket. A csoportoknak nevet is adhatunk a <legend> </legend>
közt, hasonlóan a tábláknál megismert caption-hoz, viszont ne keverjük őket össze!
Az űrlapon belül több beviteli mezőt (inputot) helyezhetünk el. (Az inputok mindegyike sorbeli elem, tehát egy <p></p>
bekezdésben kell elhelyezni őket, ha eddig nem nyitottunk volna.) A legfontosabb az űrlap elküldését indító <input
gomb. A másik ilyen speciális gomb a teljes űrlapr alapállapotba állítását (törlését) végzi el: type
="submit"
value
="GOMB FELIRAT"
/><input
. Ha pedig egyéb, magunk által definiált funkcióval rendelkező gombot szeretnénk létrehozni, akkor az type
="reset"
value
="GOMB FELIRAT"
/><input
-t használhatjuk. Ugyanezek megvalósíthatók a type
="button"
value
="GOMB FELIRAT"
/><button
-tal. Különbség nincs köztük. Természetesen őket is el lehet nevezni a type
="submit/reset/button"
value
="GOMB FELIRAT"
/>name
-mel, de legtöbbször a kiértékeléskor nincs szerepük. A további elemek esetén viszont kötelező az egymástól különböző elnevezés!
Lássuk a szöveg beviteli mezőket! Az <input
egysoros beviteli mezőt (szövegmezőt) hoz létre (pl: felhasználónévnek). Ugyanezzel a módszerrel, csak a type
="text"
name
="NÉV"
value
="SZÖVEG"
/>type
-nak "password"
értéket adva jelszó mezőt hozhatunk létre. E kettőnél még a maxlength
(maximális bevihető karakterszám) illetve a size
(mező hossza karakterben) jöhet szóba. Egyezniük nem szükséges, hiszen ha túlnyúlik a tartalom a mezőn, automatikusan tovább gördül, majd a kurzormozgatókkal visszatérhetünk az elejére. Nagyobb mennyiségű szöveg beviteléhez a szövegdoboz, a <textarea
ajánlott. Neki nincs name
="NÉV"
cols
="OSZLOPOK SZÁMA"
rows
="SOROK SZÁMA"
> </textarea>type
, value
és size
attribútuma sem, mert a típusa adott, méretét a sorok és oszlopok számával adjuk és az alapértelmezett tartalmát pedig a nyitó és záró elem közé kell írnunk. maxlength
-je viszont lehet.
Jelölőnégyzet hozható létre a <input
-gel. Ebből többet is bepipálhatunk, a Rádió gombból viszont mindig csak az utolsó marad bekapcsolva. type
="checkbox"
name
="NÉV"
value
="SZÖVEG"
/><input
Itt a többivel ellentétben a type
="radio"
name
="NÉV"
value
="SZÖVEG"
/>name
-nek muszáj egyeznie és a value
-nek különbözni. Ha valamelyiket előre szeretnénk bejelölni, akkor a
tehető ki.checked
="checked"
Nincs mindíg elegendő hely a rádiógomboknak, ha sok lehetőség közül kell választanunk. (pl: országnevek) Ekkor jön a képbe a <select
. E közé jönnek sorban az name
="NÉV"
> </select><option
címkék. Itt is különböznie kell a value
="ÉRTÉK"
>SZÖVEG</option>value
-knek! Így létre jött egy legördülő menü. Ha választó menüt szeretnénk (legalább két opció), akkor a size
itt megadja hány látszódjon görgetés nélkül. Kisebb csoportosítás az opciók közt itt is végezhető, ha egy-egy <optgroup
-be gyűjtjük a hasonlókat. Ha engedélyezni kívánjuk egyszerre több kijelölését (Ctrl + katt), akkor a label
="CSOPORT NÉV"
> </optgroup>
fog kelleni még a multiple
="multiple"
<select>
-be.
Megoldható még, hogy egy képet helyezzünk el inputtal: <input
Ez teljesen úgy működik, mint az type
="image"
alt
="HELYETTESÍTŐ SZÖVEG"
src
="KÉP HELYE"
/><img />
címke. Még a usemap
is használható. Viszont kattintásra elküldi az űrlapot, akár a submit gomb.
Fájlok feltöltéséhez az <input
használható.type
="file"
name
="NÉV"
/>
Tárolhatunk olyan információkat is az <input
-tal, amik rejtve maradnak a felhasználó elől. (Pl. sorszám, aktuális dáum...)type
="hidden"
name
="NÉV"
value
="ADAT"
/>
Ritkán, de szükség lehet a fent említett szöveg beviteli mezők kijelölésének letiltására illetve módosításának tiltására. Előbbit a
, utóbbit a disabled
="disabled"
produkálja. Érdekességként említeném még, hogy itt is használható a hivatkozásoknál már tanult readonly
="readonly"
tabindex
és accesskey
, továbbá lehetőség van még hogy csak bizonyos típust fogadjon el az adott input a accept
-tel. Pl.: csak szám, stb.
A fent említett beviteli elemekhez kapcsolhatunk egy magyarázószöveget a <label
címkével. Az azonosítónak egyeznie kell a beviteli mező for
="AZONOSÍTÓ"
>...</label>id
azonosítójával. Így helytől függetlenül összefűzhető a kettő. (A szövegre kattintva a kijelölés a bevitelre ugrik.) Vagy a for
-t elhagyjuk és a Tag-ek közé, a szöveg mellé tesszük a beviteli mezőt is.
Eddig még senki sem írt hozzászólást... Légy te az első!
Új hozzászólás írásához lépj be fiókodba vagy regisztrálj oldalunkon!