Tickets и checkbox
Добрый день всем! Кто-нибудь может уже решал такую задачу — буду рада если поделитесь решением. В форме комментирования нужно добавить checkbox «Согласие на обработку персональных данных» — с 1 июля если кто не знает это обязательное требование (152-ФЗ). И конечно нужна проверка, что этот checkbox нажат.
Комментарии: 8
Можно сделать так:
1. Добавляем чекбокс в форму добавления комментария. Для этого редактируем чанк tpl.Tickets.comment.form.guest.
После
добавляем наш чекбокс:
2. Создаем плагин ticketsCommentPersonalDate:
И в системных событиях плагина не забываем поставить галочку напротив события OnBeforeCommentSave.
Жмем Сохранить.
Теперь, если при добавлении коммента пользователь не поставит галочку, то всплывет предупреждение справа сверху и коммент не добавится.
1. Добавляем чекбокс в форму добавления комментария. Для этого редактируем чанк tpl.Tickets.comment.form.guest.
После
<div class="form-group">
<label for="comment-email">[[%ticket_comment_email]]</label>
<input type="text" name="email" value="[[+email]]" requiredid="comment-email" class="form-control" />
<span class="error"></span>
</div>
добавляем наш чекбокс:
<div class="form-group">
<label for="comment-pdata"><input name="comment-pdata" id="comment-pdata" type="checkbox"> Даю свое согласие на обработку персональных данных</label>
<span class="error"></span>
</div>
Жмем Сохранить.2. Создаем плагин ticketsCommentPersonalDate:
if ($modx->event->name == 'OnBeforeCommentSave') {
if (!isset($_REQUEST['comment-pdata'])) {
$modx->event->output('Вы не дали согласие на обработку персональных данных');
}
}
И в системных событиях плагина не забываем поставить галочку напротив события OnBeforeCommentSave.
Жмем Сохранить.
Теперь, если при добавлении коммента пользователь не поставит галочку, то всплывет предупреждение справа сверху и коммент не добавится.
Можно сделать проще — добавить обработчик события на чекбокс и в зависимости от состояния чекбокса делать кнопку добавления комментария доступной или нет.
Преимущества
1. С точки зрения UX данный способ предпочтительней, так как пользователь понимает, что от него требуется. Именно так cделано, например, у РЖД и у многих других.
2. Не надо гнать форму на сервер и ждать ответа.
Преимущества
1. С точки зрения UX данный способ предпочтительней, так как пользователь понимает, что от него требуется. Именно так cделано, например, у РЖД и у многих других.
2. Не надо гнать форму на сервер и ждать ответа.
Помогло?)
Спасибо за ответ) Пока нет… Но у меня есть подозрение, что у меня плагины не работают. Потому что есть плагин, который должен присылать письмо когда регистрируется новый пользователь, но в какой-то момент он перестал работать и с этим пока тоже не получилось. Посижу еще, попробую.
Сделал себе тоже такой чекбокс. Можно тут протестировать http://naukograd28.ru/stroitelyam-kosmodroma...
Спасибо большое! Буду знать теперь к чему стремиться))
Кстати если интересует — вот сервис (ссылка на всякий случай рефферальная, вдруг че)), который поможет правильно составить все документы для внутреннего пользования, а также письма в роспоребнадзор. Мы там все документы делали.
Кстати если интересует — вот сервис (ссылка на всякий случай рефферальная, вдруг че)), который поможет правильно составить все документы для внутреннего пользования, а также письма в роспоребнадзор. Мы там все документы делали.
Вот как посоветовал Сергей:
<form>
...
<label for="agree">
<input type="checkbox" name="agree" id="agree">
Даю свое согласие на обработку персональных данных</a>
</label>
<button type="submit" class="submit">Отправить</button>
</form>
<script>
$(window).load(function() {
$("button.submit").prop("disabled", true);
$("#agree").change(function() {
state = $(this).prop("checked");
if (state) {
$("button.submit").prop("disabled", false).removeClass("disabled");
} else {
$("button.submit").prop("disabled", true).addClass("disabled");
}
});
});
</script>
Всем огромное спасибо! Первый вариант сработал.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.