Преамбула
===
Ну не умею я описывать задачки в программировании, однако все равно надеюсь, что кто-нибудь поймет и поможет.
===
Амбула
===
На сайте куча форм в которых пользователь вводит данные, правильность ввода которых проверяю яваскриптом. Чтобы как то упорядочить этот процесс в html перед формой добавляю такой код
<script>
var checker = {};
checker.name = false;
checker.email = false;
checker.passcode = false;
checker.msg = false;
</script>
Саму библиотеку функций по проверке вынес в отдельный файлик validate.js
Вот примерная функция
function check(input, checker) {
var iName = input.name;
if (iName == 'name') {
if (input.value) {
var errorDiv = document.getElementById('errorName');
var okDiv = document.getElementById('okName');
if (validName(input.value)) {
checker.name = true;
input.className = 'frame wide good'
if (errorDiv) {
errorDiv.style.display = 'none';
}
if (okDiv) {
okDiv.style.display = 'block';
}
} else {
checker.name = false;
input.className = 'frame wide bad'
if (errorDiv) {
errorDiv.style.display = 'block';
}
}
} else {
var okDiv = document.getElementById('okName');
var errorDiv = document.getElementById('errorName');
if (okDiv) {
okDiv.style.display = 'none';
}
if (errorDiv) {
errorDiv.style.display = 'none';
}
checker.name = false;
input.className = 'frame wide';
}
}
isAllRight(checker);
}
соответсвенно эта функция вешается на input в обработчик onkeyup
По замыслу последная функция (isAllRight) должна проветить все ли ключи в переменной checker имеют значение true и если да произвести какие-то действия. Например активировать кнопку submit
Вопрос.
Как пройтись по всем ключам, если я не знаю изначально какие ключи есть в переменной checker. Потому что такой механизм используется на разных формах с разным набором проверяемых инпутов.
Надеюсь не утомил и все понятно описал. Думаю что вы мне поможите