Показать сообщение отдельно
  #1 (permalink)  
Старый 23.10.2014, 03:19
Аспирант
Отправить личное сообщение для Szorstki Посмотреть профиль Найти все сообщения от Szorstki
 
Регистрация: 15.02.2012
Сообщений: 51

Запретить выполнение функций
Здравствуйте.
Есть такой скрипт:
(function($) {

    $(function() {

        $('.form').each(function() {
            var form = $(this),
                btn = form.find('.submit');

            form.find('.required').addClass('empty_field');

            // Функция проверки полей формы
            function checkInput() {
                form.find('.required').each(function() {
                    if ($(this).val() != '') {
                        $(this).removeClass('empty_field');
                    } else {
                        $(this).addClass('empty_field');
                    }
                });
            }

            // Функция подсветки незаполненных полей
            function lightEmpty() {
                form.find('.empty_field').css({
                    'border-color': '#d8512d'
                });
                setTimeout(function() {
                    form.find('.empty_field').removeAttr('style');
                }, 1500);
            }

            setInterval(function() {
                checkInput();
                var sizeEmpty = form.find('.empty_field').size();
                if (sizeEmpty > 0) {
                    if (btn.hasClass('disabled')) {
                        return false
                    } else {
                        btn.addClass('disabled')
                    }
                } else {
                    btn.removeClass('disabled')
                }
            }, 500);

            btn.click(function() {
                if ($(this).hasClass('disabled')) {
                    lightEmpty();
                    return false
                } else {
                    form.submit();
                }
            });

        });

    });

})(jQuery);

Он проверяет заполненность полей, а заодно, при пустых полях, добавляет к кнопке класс disabled.
Идем далее. Есть и такой скрипт: http://jsfiddle.net/jDYdH/2/. Который запрещает клики.
Мне нужно их объединить. Чтобы, пока не заполнены поля (т. е. на кнопке стоит класс disabled), при нажатии на кнопку ничего не происходило, кроме подсветки незаполненных полей.
Как я понял, за это отвечает вот эта строчка из второго примера:
$('.disabled').off('click');

Так вот, вопрос. В какое место верхнего кода вставить эту строчку, чтобы получилось так, как мне надо?
Ответить с цитированием