TARTALOMJEGYZÉK
1. M10. Adatok megjelenítése, űrlapok kezelése és ellenőrzése 1.1. Adatok megjelenítése és a dokumentum módosítása 1.2. Stíluselemek kezelése 1.3. Űrlapok kezelése és ellenőrzése 1.3.1. Beviteli mezők (input) 1.3.1.1. Egysoros szövegmező (text) 1.3.1.2. Választógomb (radio) 1.3.1.3. Jelölőnégyzet (checkbox) 1.3.1.4. Rejtett mezők (hidden) 1.3.1.5. Állományfeltöltő mezők (file) 1.3.2. Többsoros szövegmező (textarea) 1.3.3. Válsztólista (select, option) 1.4. Űrlapkezelés 1.4.1. Súgószöveg a beviteli mezőkben 1.4.2. Eseménykezelő hozzárendelése kódból 1.4.3. Összes jelölőnégyzet kitöltése
3 3 5 7 7 7 8 9 11 12 13 15 18 18 19 20
2
TARTALOMJEGYZÉK
1. FEJEZET
M10. Adatok megjelenítése, űrlapok kezelése és ellenőrzése Célkitűzés A modul befejezése után a következőket tudja elvégezni: – stílusok kezelése JavaScript -ből – űrlapelemek kezelése – űrlapellenőrzés
1.1. Adatok megjelenítése és a dokumentum módosítása A dokumentum betöltése közben lehetőség van ennek szerkezetét JavaScript-el módosítani. Sőt mi több, a teljes oldal törzsét is kigenerálhatjuk. Erre a document.write metódust használjuk. Az alábbi kód az első 100 páros számot írja ki. Előnye, hogy nem kell a száz számot begépeljük a HTMl kódba és könnyen módosíthatjuk a kiírt tartalmat. Első 100 páros szám: <script language="JavaScript" type="text/javascript"> for(i=0; i<100; i++) document.write( (i*2) + " "); A dokumentumot betöltése után is lehet módosítani. Ezt események lekezelésekor, időzítővel (setTimeout, clearTimeout) vagy periodikusan lefuttatott kóddal (setInterval, clearInterval) lehet megvalósítani. Minden olyan elem amelynek van tartalma (pl.
<span>
, stb.) rendelkezik egy innerHTML tulajdonsággal, amely az elem tartalmát tárolja. Ennek módosítása a dokumentum szerkezetének módosítását idézi elő. Ahhoz, hogy egy elemet könnyen tudjuk azonosítani a DOM fában célszerű azt egyedi azonosítóval (id-vel) ellátni. 3
4
1. M10. ADATOK MEGJELENÍTÉSE, ŰRLAPOK KEZELÉSE ÉS ELLENŐRZÉSE
Példa periodikusan lefuttatott kódra: <script type="text/javascript"> cnt = 0; id = null; function startTicker() { id = setInterval(’ticker()’, 1000 ); } function stopTicker() { clearInterval( id ); } function ticker() { cnt++; document.getElementById( ’ticker_display’ ).innerHTML = "Az oldal " + cnt + " másodperce van megnyitva."; } <span id="ticker_display">Az oldal meg van nyitva.
<span onclick="javascript:stopTicker();">[leállít] |