JS interesse |
|
Je hebt twee kleine foutjes gemaakt die elkaar in zoverre opheffen dat het probleem lastig te vinden is (en het evengoed niet werkt):
function validateAge (valfield, // element to be validated
infofield, // id of element to receive info/error msg
required) // true if required
{ // accolade 1
var stat = commonCheck (valfield, infofield, required);
if (stat != proceed) return stat;
var tfld = trim(valfield.value);
var ageRE = /^[0-9]{1,3}$/
if (!ageRE.test(tfld)) {
msg (infofield, "error", "Fout: Geen geldige leeftijd");
setfocus(valfield);
return false;
}
if (tfld>=200) {
msg (infofield, "error", "Fout: Geen geldige leeftijd");
setfocus(valfield);
return false;
}
if (tfld<0) msg (infofield, "warn", "Bit young for this, aren't you?");
else msg (infofield, "warn", "");
} // accolade 2
if (tfld>110) msg (infofield, "warn", "Older than 110: check correct");
else {
}
function validateAge (valfield, // element to be validated infofield, // id of element to receive info/error msg required) // true if required { // accolade 1 var stat = commonCheck (valfield , infofield , required ); var tfld = trim(valfield .value ); var ageRE = /^[0-9]{1,3}$/ if (!ageRE.test(tfld)) { msg (infofield, "error", "Fout: Geen geldige leeftijd"); setfocus(valfield); return false; } if (tfld>=200) { msg (infofield, "error", "Fout: Geen geldige leeftijd"); setfocus(valfield); return false; } if (tfld<0) msg (infofield, "warn", "Bit young for this, aren't you?"); else msg (infofield, "warn", ""); } // accolade 2 if (tfld>110) msg (infofield, "warn", "Older than 110: check correct"); else { }
Als je goed kijkt zie je dat accolade 1 en accolade 2 bij elkaar horen... dit houdt dus in dat if (tfld > 110) buiten de functie valt (waar geen tfld bestaat).
Verder:
De check of de leeftijd onder de nul is, is overbodig, je regex staat dit al niet toe.
Onthoud dat javascript te omzeilen is, dus hoe goed je javascript checks ook zijn, je moet het opnieuw testen aan de server zijde (php of een dergelijke taal).
Je vraag ging over het checken van de leeftijd in combinatie met de betaalmethode, maar ik zie hier nog helemaal geen code voor, dus kan ik ook niet zeggen wat er mis mee is. |