Hogy lehet Javascripttel egyszerre több dolgot is ellenőrizni?
4 vagy 5 beviteli mezőbe (input) beírt adatot kellene ellenőrizni (a feltételt), de van olyan feltétel (hosszabb-e a szöveg 8 karakternél, van a benne szám, stb), aminek több mezőt is ellenőrizni kéne, és olyan is, ami csak egyet. A javascriptben a mezők id-jére kell hivatkozni, de mivel több dolgot kell egyszerre ellenőrizni, ezért összekavarodik:
Itt egy példa az ellenőrzés kódjára:
(document.getElementById('input-id').value.length>0)
A jelszón kívül melyik az a mező, aminél értelmes az a feltétel, hogy van-e benne szám?
Kicsit még gyúrd a javascriptet, mert a kérdés alapján az űrlapellenőrzés még nehéz neked.
Az űrlapellenőrzés mechanikája, ha végiggondolod akkor viszonylag egyszerű:
1. a submit gomb megnyomását elfogjuk javascripttel (nem engedjük végrahajtani a submitot)
2. végigmegyünk az input elemeket, és a megfelelő ellenőrzéseket elvégezzük, és kigyűjtjük a hibákat
3. az iteráció végén ellenőrizzük, hogy volt-e hiba. ha volt, akkor hibaüzenetet írunk, ha nem, akkor submittoljuk az űrlapot
A tartalom ellenőrzéshez használhatsz reguláris kifejezéseket: emailek, url-ek, speciálisan formázandó vagy formátumú adatsoroknál (pl rendszámok, banki azonosítók, irányítószámok) nagyon hasznos.
rövid példa:
document.getElementById('submit_gomb_ID').addEventListener('click', function(e){
e.preventDefault();
var hibak = 0;
// végigveheted az összes mezőt, hogy van-e üres:
var mezok = document.getElementsByTagName('input');
for(i=0; i<mezok.length; i++){
if (mezok[i].value == "") {hibak++;}
}
// egyesével is ellenőrizheted őket a tartalomra vonatkozóan:
var emailcheck = /(.+)@(.+){2,}\.(.+){2,}/.test(document.getElementById('email_mezo').value);
if (!emailcheck) {hibak++;}
...
// ellenőrizd volt-e hiba
if (hibak > 0) {
alert("Az űrlapon hibák vannak");
} else {
document.getElementById('urlap_ID').submit;
}
});
Itt már mutattam erre példát:
https://www.gyakorikerdesek.hu/szamitastechnika__programozas..
és ott el is mondtam, hogy űrlapot élesben nem ellenőrzünk pusztán a kliensoldalon, mert az megkerülve a szerveroldalra hibás adatok küldhetőek (aztán megint lesz egy BKK-botrányunk ;D ).
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!