ugrás a tartalomhoz

Beviteli mezők összegének maximum-korlátozása (JS)

rőt pajesz · 2006. Már. 2. (Cs), 11.57
Hello,

a következő a gondom:

van három input boxom amelyekbe a user csak numerikus karaktereket vihet be. Az input boxok összesített értéke pont 100 kell legyen. Ezt kellene levizsgálnom valahogy javascript segítségével.

Sürgős volna. Kérlek segítsetek.
 
1

részsegítség

Táskai Zsolt · 2006. Már. 2. (Cs), 12.17
1. php-ben is ellenőrizz azért majd, mert különben JS nélküli felhasználó értelmetlen adatot tehet be.
2. "javascript form validation"-re keresve sok okosság jön ki google-ből, például: http://www.xs4all.nl/~sbpoley/webmatters/formval.html
3. a 100-at onsubmit-re vizsgálva figyeld, mert csak akkor van értelme, és ott a submit-et meghiúsíthatod.
4. számkaraktereket vizsgálhatod onblur-re (a mező elhagyására), illetve a karakter beírását is megtilthatod, de az nekem nem szokott sikerülni:(

talán valamennyit segítettem. ha konkrétabb segítség kell, még kérdezz.
Tasi
2

részsegítség - eddig nekem is tiszta

rőt pajesz · 2006. Már. 2. (Cs), 13.39
válasz erre: 1. - nyilván

válasz ezekre: 2. 3. 4. - félreértettél nekem egészen pontosan arra a metódusra lenne csak szükségem, amivel ezt a kritériumot ellenőrizni tudom. Magyarul mi a módja, hogy javascriptben 3 input boxszal beírt szám összege egyenlő legyen egy megadott értékkel.

Ennyi már megvan (végigléptetéskor bevizsgálja ezeket az input boxokat, hogy egyik értéke se haladhassa meg a 100-at - 100%-ról van szó). Most már csak azt kell elérni, hogy a 3 bevitt érték összege se lehessen nagyobb 100 nál (a három értéknek együttesen kell kiadnia a 100%-ot).
if (elem[i].name=="perec1"||elem[i].name=="perec2"||elem[i].name=="perec3"|){
						var ea = elem[i].value;
						ea = parseInt(ea);
						if(ea >= 101){
						alert("Az perecek százalékos értéke nem haladhatja meg a 100 százalékot!");
						return false;
						}
						
					}

4

nem értem teljesen

Táskai Zsolt · 2006. Már. 2. (Cs), 16.08
előszöris akkor bocs, hogy annyira előről kezdtem.
tehát ezt a (sum==100)-at a form onsubmit-jában vizsgáld. és ott document.getElementById-vel összeszeded a három inputmezőt, és azoknak a value-it összeadod. ha nem 100, akkor (return false)-szal megszakítod a sumbit-et.
lehet, hogy megint nem jól értem a problémát...
Tasi
3

más ötlet

rőt pajesz · 2006. Már. 2. (Cs), 14.16
más ötlet esetleg?
5

Arányszámok

janoszen · 2006. Már. 2. (Cs), 20.47
Összeadod a bevitt számokat és arányos osztást csinálsz szerver oldalon. Ha valaki nem tud összeadni 3 számot, gratulálok. Szóval, arányszámokkal dolgozol. Van olyan jó, mint a százalékok.