Показать сообщение отдельно
  #10 (permalink)  
Старый 13.06.2017, 07:37
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Вопрос - что выполняется этим обработчиком:

.find('input:checkbox').change(function()

отправление формы или же изменения состояния флажков? Ну ежику же понятно, что изменение состояние флажков.

Спрашивалось "при отправке какой либо из трех форм" запретить показ окна. А обрабатывается отправка формы здесь: $('form').submit(function(), и уже было показано, что в этот обработчик и поместить (добавить) запись куки. Чего вы его лепите не туда куда следует, вообще за пределы этих обработчиков?


Что $(document).ready(function (), что $(function(), это одно и тоже, а значит перенесите все в одно место, пусть так:

$(document).ready(function () {
    if (!$.cookie('smartCookies')) {
        $(document).mouseleave(function (e) {
            function getWindow() {
                $('.offer').arcticmodal({
                    closeOnOverlayClick: true,
                    closeOnEsc: true
                });
            };
            setTimeout(getWindow, 1);
            $.cookie('smartCookies', true, {
                expires: 7,
            path: '/'
            });
        });
    }
    $('form').submit(function() {
        if(!$(this).find('input:checked').length) {
            alert('Выберите один из вариантов');
            return false
        }
        $.cookie('smartCookies', true, {
            expires: 7,
            path: '/'
        });
    }).find('input:checkbox').change(function() {
        $(this).closest('.input-group-addon').find('input:text').prop('required', this.checked).attr('placeholder', this.checked ? 'Заполните' : '')
    });
});
Ответить с цитированием