Внутри функции validateAll
вы определяете validated
, которая создает область действия функции, ограниченную этой функцией.Вы можете либо создать глобальную переменную, либо просто указать возвращаемое значение.
Метод глобальных переменных:
var validated = true; // in the same scope as your two functions
$( ".submitBtn" ).click(function(){
validated = true;
validateAll();
if (validated == false){ // make sure double "=" is set
alert("!!!");
displayValidationErr();
}
else {
$('#questionBody').submit();
}
});
function validateAll() {
// var validated = true;
$('.form-control').filter('[required]:visible').each(function() {
if ( $(this).val() === '' ) {
$(this).addClass("emptyRequired");
validated = false;
}
});
}
Метод возврата:
$( ".submitBtn" ).click(function(){
validated = validateAll();
if (validated == false){
alert("!!!");
displayValidationErr();
}
else {
$('#questionBody').submit();
}
});
function validateAll() {
var validated = true;
$('.form-control').filter('[required]:visible').each(function() {
if ( $(this).val() === '' ) {
$(this).addClass("emptyRequired");
validated = false;
}
});
return validated;
}
Кроме того, небольшой советдля немного более удобочитаемого кода: люди, как правило, более довольны положительными первыми, если блоки, поэтому вместо того, чтобы начинать с двойного отрицательного, если условие, например, так:
if (validated == false){
alert("!!!");
displayValidationErr();
}
else {
$('#questionBody').submit();
}
это лучший способ начатьс ожидаемым / желаемым поведением:
if (validated) {
$('#questionBody').submit();
}
else {
alert("!!!");
displayValidationErr();
}