[jQuery] Согласие на обработку персональных данных в любой форме

Простейшие примеры, как сделать в любой форме подтверждение Я согласен на обработку персональных данных с помощью jQuery.

Пример №1

Вариант, когда вы сможете отредактировать форму, добавить в нее поле с флажком

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>jQuery privacy form</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<script>
$(function () {
var use_privacy = true;
$('#form1').on('submit', function (e) {

if (use_privacy) {
if (!$(this).find('input[name=privacy]').prop('checked')) {
alert('Для продолжения вы должны принять условия Пользовательского соглашения');
return false;
}
}

//Тут код отправки формы
document.write('Форма успешно отправлена!');

e.preventDefault();
});
});
</script>
<form id="form1" name="form1" action="" method="post">
<fieldset>
<legend>Форма обратной связи</legend>
<p>
Ваше имя<br>
<input type="text" name="name">
</p>
<p>
Ваш e-mail<br>
<input type="text" name="email">
</p>
<p>
<input type="checkbox" name="privacy">
<a href="/privacy.html" target="_blank">Я согласен на обработку персональных данных</a>
</p>
<p>
<button type="submit" name="submit">Отправить</button>
</p>
</fieldset>
</form>

</body>
</html>

Пример №2

Вариант, когда у вас нет возможности изменить саму форму в php-коде, но есть возможность это сделать с помощью jQuery.
Просто при загрузке страницы флажок с соглашением добавляется в нужное место с помощью кода в JS, а на форму вешается обработчик или изменяется уже существующий обработчик в вашем случае.

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>jQuery privacy form</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<script>
$(function () {

var html_privacy = '';
html_privacy += '<p>';
html_privacy += '<input type="checkbox" name="privacy">';
html_privacy += '<a href="/privacy.html" target="_blank">Я согласен на обработку персональных данных</a>';
html_privacy += '</p>';
$('#form2 fieldset p:last').before(html_privacy);
//$('#form2 fieldset').append(html_privacy);

var use_privacy = true;
$('#form2').on('submit', function (e) {

if (use_privacy) {
if (!$(this).find('input[name=privacy]').prop('checked')) {
alert('Для продолжения вы должны принять условия Пользовательского соглашения');
return false;
}
}

//Тут код отправки формы
document.write('Форма успешно отправлена!');

e.preventDefault();
});
});
</script>
<form id="form2" name="form2" action="" method="post">
<fieldset>
<legend>Форма обратной связи</legend>
<p>
Ваше имя<br>
<input type="text" name="name">
</p>
<p>
Ваш e-mail<br>
<input type="text" name="email">
</p>
<p>
<button type="submit" name="submit">Отправить</button>
</p>
</fieldset>
</form>
</body>
</html>
Комментарии
Получать ответы на почту
Подписка на статьи
Выберите рассылку
Последние комментарии
Последние комментарии
Почитал тут вашу переписку про ИП.Свой первый РС открывал в втб24, но через пол года он меня задолба...
[url=https://tuning-soft.ru/articles/bitrix/ajax-login-form-and-registration-bitrix-jquery-ajax-part...
[url=https://tuning-soft.ru/articles/bitrix/ajax-login-form-and-registration-bitrix-jquery-ajax-part...
Спасибо! Ваше предложение интересное, свои модули продавать я не буду, я ими сам пользуюсь и буду...
Антон, Это, конечно, приятно, что бесплатно, но мне понравился Ваш продукт, до Вашего детища я поль...
В этом модуле всегда приходит две ссылки https://monosnap.com/file/r656vEnx59Kvbw0s7TMpx...
Спасибо большое! Выгрузил бета-фикс 4.2.1, добавил там еще SITE_ID по умолчанию.