Автор Тема: Проверка чекбокса  (Прочитано 679 раз)

08 Июль 2017, 17:18:53
  • Новичок
  • *
  • Сообщений: 41
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Друзья, возжелал я тут вставить в форму blocknewsletter.tpl (блока подписки) чекбокс, собственно, вставил:

<input type="checkbox" name="check" value="" />

И вот если раньше я проверял нажатость чем-то вроде этого:

<input name=newans onclick="
if (document.changeform.check.value==''){
alert('Нажатие чекбокса обязательно!'); document.changeform.check.focus();
return false;
}
" type="submit" value="Отправить" />

то, помогите, как теперь в смарти прописать этот скриптик? Уж больно он прост был и работал славно. Думаю, решение многим потребуется, особенно в свете вступления в силу закона о персональных данных, где теперь в каждом углу интернет-магазина придется прикручивать эти галочки.
08 Июль 2017, 18:37:47
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 1614
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
<input type="checkbox" name="check" id="myCheckbox" value="" />

if(!$("#myCheckbox").prop("checked")) {
    alert('Нажатие чекбокса обязательно!');
}
Как-то так.
08 Июль 2017, 20:42:58
Ответ #2
  • Новичок
  • *
  • Сообщений: 41
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если кому интересно, пользуясь лекалами грамотных людей, за что им спасибо, я сделал так:

1. В \themes\Ваша тема\modules\blocknewsletter\blocknewsletter.tpl в форму я вставил чекбокс:

<input type="checkbox" name="agree" value="1" id="agree">, если хотите, чтобы там голочка уже стояла перед закрывающей скобкой поставьте cheked>
<div style="margin-bottom: 12px;">Согласен на использование своих персональных данных для отправления информационных и рекламных сообщений</div>

Кнопарику на отправку присвоил айди: <button type="submit" name="submitNewsletter" id="subButton">

2. В \themes\Ваша тема\js\modules\blocknewsletter\blocknewsletter.js под "$(document).ready(function() {" вставил код проверки чекбокса и выдчи сообщения:

    $('#subButton').on('click', function(){     
        if($("#agree").attr("checked") == 'checked') { 
            $('#target').submit(function(){});
        return true;
        } else {
            window.alert('Дайте свое согласие на обработку данных!');
            $("#agree").css('border', '1px solid red');
        }
        return false;
    });

Все.