Показать сообщение отдельно
  #1 (permalink)  
Старый 05.02.2009, 10:34
Аватар для afandi
Новичок на форуме
Отправить личное сообщение для afandi Посмотреть профиль Найти все сообщения от afandi
 
Регистрация: 08.09.2008
Сообщений: 4

ключи в ассоциативной переменной
Преамбула
===
Ну не умею я описывать задачки в программировании, однако все равно надеюсь, что кто-нибудь поймет и поможет.
===
Амбула
===
На сайте куча форм в которых пользователь вводит данные, правильность ввода которых проверяю яваскриптом. Чтобы как то упорядочить этот процесс в 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. Потому что такой механизм используется на разных формах с разным набором проверяемых инпутов.

Надеюсь не утомил и все понятно описал. Думаю что вы мне поможите
Ответить с цитированием