Nieuw lid |
|
Hey,
Als project voor school moeten we de validatie van een form maken. Tot hiertoe is dat al vrij goed gelukt adhv een tutorial maar er zit nog een klein foutje in.
Als je op Check Field klikt zal je zien dat de vakjes 1 sec rood worden (omdat er dus niet is ingevuld). De vraag is nu hoe ik het kan fixen dat de vakjes ook effectief rood blijven staan totdat je ze correct invult of opnieuw submit?
Bekijk demo:
http://users.telenet.be/elsticky/win/
/**
* @author Nicholas.Lievens KdG
*/
// Als de lengte van het string element 0 is toon hulpbericht
window.addEventListener("load", function(){
var form = document.getElementById('form');
form.addEventListener("submit", function(){
notEmpty(document.getElementById('req1'), 'Please enter a value');
isNumeric(document.getElementById('numbers'), 'Please enter numbers');
isAlphabet(document.getElementById('letters'), 'Please enter letters');
lengthRestriction(document.getElementById('maxlengte'), '2', '8');
madeSelection(document.getElementById('selection'), 'Please make a selection');
emailValidator(document.getElementById('emailer'), 'No valid email');
}, false);
}, false);
function notEmpty(elem, helperMsg) {
if(elem.value.length == 0){
elem.style.backgroundColor = 'red';
elem.focus(); // zet focus op deze input
return false;
}
return true
}
// Als het string element overeen komt met de reguliere expressie zijn het nummers
function isNumeric(elem, helperMsg){
var numericExpression = /^[0-9]+$/;
if(elem.value.match(numericExpression)){
return true;
}
else {
elem.style.backgroundColor = 'red';
elem.focus();
return false;
}
}
// Als het string element overeenkomt met de reguliere expressie zijn het letters
function isAlphabet(elem, helperMsg){
var alphaExp = /^[a-zA-Z]+$/;
if(elem.value.match(alphaExp)){
return true;
}
else {
elem.style.backgroundColor = 'red';
elem.focus();
return false;
}
}
function lengthRestriction(elem, min, max){
var uInput = elem.value.length;
if(uInput >= min && uInput <= max){
return true;
}else{
elem.style.backgroundColor = 'red';
elem.focus();
return false;
}
}
function madeSelection(elem, helperMsg){
if(elem.value == "Please Choose"){
elem.style.backgroundColor = 'red';
elem.focus();
return false;
}
else {
return true;
}
}
function emailValidator(elem, helperMsg){
var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
if (elem.value.match(emailExp)) {
return true;
}
else{
elem.style.backgroundColor = 'red';
elem.focus();
return false;
}
}
/** * @author Nicholas.Lievens KdG */ // Als de lengte van het string element 0 is toon hulpbericht window.addEventListener("load", function(){ var form = document.getElementById('form'); form.addEventListener("submit", function(){ notEmpty(document.getElementById('req1'), 'Please enter a value'); isNumeric(document.getElementById('numbers'), 'Please enter numbers'); isAlphabet(document.getElementById('letters'), 'Please enter letters'); lengthRestriction(document.getElementById('maxlengte'), '2', '8'); madeSelection(document.getElementById('selection'), 'Please make a selection'); emailValidator(document.getElementById('emailer'), 'No valid email'); }, false); }, false); function notEmpty(elem, helperMsg) { if(elem.value.length == 0){ elem.style.backgroundColor = 'red'; elem.focus(); // zet focus op deze input return false; } return true } // Als het string element overeen komt met de reguliere expressie zijn het nummers function isNumeric(elem, helperMsg){ var numericExpression = /^[0-9]+$/; if(elem.value.match(numericExpression)){ return true; } else { elem.style.backgroundColor = 'red'; elem.focus(); return false; } } // Als het string element overeenkomt met de reguliere expressie zijn het letters function isAlphabet(elem, helperMsg){ var alphaExp = /^[a-zA-Z]+$/; if(elem.value.match(alphaExp)){ return true; } else { elem.style.backgroundColor = 'red'; elem.focus(); return false; } } function lengthRestriction(elem, min, max){ var uInput = elem.value.length; if(uInput >= min && uInput <= max){ return true; }else{ elem.style.backgroundColor = 'red'; elem.focus(); return false; } } function madeSelection(elem, helperMsg){ if(elem.value == "Please Choose"){ elem.style.backgroundColor = 'red'; elem.focus(); return false; } else { return true; } } function emailValidator(elem, helperMsg){ var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/; if (elem.value.match(emailExp)) { return true; } else{ elem.style.backgroundColor = 'red'; elem.focus(); return false; } }
|