Вопрос - что выполняется этим обработчиком:
.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 ? 'Заполните' : '')
});
});
|