Задать вопрос
@dudoser
студент

Почему не работает скрипт в функции?

Пишу скрипт для проверки на заполнение полей при входе/авторизации
вот та часть которая работает:
$('#name').blur(function(){
            $('#name').removeClass();
            var nameLngth = $('#name').val().length;
            if(nameLngth <= 1){
                $('#auth').addClass('notValid');
                $('#auth').addClass('non');
                $('#auth').html(text);
                $('.bg').addClass('notValid');
                $('#name').addClass('notValid');
            } else {
                $('#name').removeClass('notValid');
                $('.bg').removeClass('notValid');
                $('#auth').removeClass('notValid');
                $('#auth').removeClass('non');
                $('#auth').html('<h2>Вход</h2');
                $('#name').addClass('valid');
                $('.bg').addClass('valid');
                $('#auth').addClass('valid');
            }
        });

но таких полей 5 штук, и получиться что этот весь код нужно будет продублировать 5 раз
вот я и решил написать ф-цию, и в ф-ции этот же скрипт не работает....подскажите где ошибка.
function isEmptyAuth(nameClass, text){
        $(nameClass).blur(function(){
            $(nameClass).removeClass();
            var nameLngth = $(nameClass).val().length;
            if(nameLngth <= 1){
                $('#auth').addClass('notValid');
                $('#auth').addClass('non');
                $('#auth').html(text);
                $('.bg').addClass('notValid');
                $(nameClass).addClass('notValid');
            } else {
                $(nameClass).removeClass('notValid');
                $('.bg').removeClass('notValid');
                $('#auth').removeClass('notValid');
                $('#auth').removeClass('non');
                $('#auth').html('<h2>Вход</h2');
                $(nameClass).addClass('valid');
                $('.bg').addClass('valid');
                $('#auth').addClass('valid');
            }
        });
    }

    isEmptyAuth('\'#name\'', 'ведите пожалуйста ваше имя');
  • Вопрос задан
  • 226 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@dudoser Автор вопроса
студент
нужно написать обертку:
$(function() {
    function isEmptyAuth(nameClass, text){
        $(nameClass).blur(function(){
            $(nameClass).removeClass();
            var nameLngth = $(nameClass).val().length;
            if(nameLngth <= 1){
                $('#auth').addClass('notValid');
                $('#auth').addClass('non');
                $('#auth').html(text);
                $('.bg').addClass('notValid');
                $(nameClass).addClass('notValid');
            } else {
                $(nameClass).removeClass('notValid');
                $('.bg').removeClass('notValid');
                $('#auth').removeClass('notValid');
                $('#auth').removeClass('non');
                $('#auth').html('<h2>Вход</h2');
                $(nameClass).addClass('valid');
                $('.bg').addClass('valid');
                $('#auth').addClass('valid');
            }
        });
    }

    isEmptyAuth('\'#name\'', 'ведите пожалуйста ваше имя');
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@choupa
Архитектор (обычный, который строит)
Зачем ещё кавычки внутри строки в вызове функции. Надо так:
isEmptyAuth('#name', 'ведите пожалуйста ваше имя');
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы