The variable Message
and boolean value count
from function validator
won't get updated when it runs inputFocus
function. So, validator
always returns true.
(function(){
var form = document.forms[0];
form.addEventListener('submit', function(evt){
if(!validator(form)){
evt.preventDefault();
}
}, false);
})();
main.js
function validator(form){
var message = "The input below is invalid";
var count = true;
if(!phoneValidation(form.phone.value)){
inputFocus(form['phone'], "focus", message, form.phone.name, count);
}
if(!count){
alert(message);
return count;
} else {
return true;
}
}
function inputFocus(element, newClassName, message, id, count){
element.className += " " + newClassName;
message += ", " + id;
if (count){
count = false;
}
}