Категории

Как отключить кнопку отправки формы до согласия с политикой конфиденциальности

16.10.2025 14:58 | коды из категории: создание сайтов

В современных веб-формах часто требуется, чтобы пользователь явно подтвердил своё согласие на обработку персональных данных. Это не просто «best practice» — во многих странах (включая Россию по ФЗ-152 и Европу по GDPR) это юридическое обязательство.

Чтобы гарантировать такое согласие, разработчики делают кнопку отправки формы неактивной (disabled), пока пользователь не поставит галочку в чекбоксе с текстом вроде: «Я согласен с политикой конфиденциальности».

Как это работает под капотом?

Механизм предельно прост:

Почему это важно?

Такой подход решает сразу несколько задач:

💡 Совет: всегда дублируйте проверку на сервере. Клиентский JavaScript можно обойти, но сервер — нет.

Такой паттерн используется повсеместно: от лендингов с «заказать звонок» до форм регистрации в SaaS-продуктах. Это маленькая деталь, которая делает интерфейс не только удобнее, но и юридически безопаснее.

<!-- Форма заявки с защитой согласия -->
<form id="contactForm" method="post" action="/submit-form.php">
  <div class="form-group">
    <input type="text" name="name" placeholder="Ваше имя" required>
  </div>
  <div class="form-group">
    <input type="tel" name="phone" placeholder="Телефон" required>
  </div>
  <div class="form-group">
    <select name="city" required>
      <option value="">Выберите город</option>
      <option value="Москва">Москва</option>
      <option value="Санкт-Петербург">СПб</option>
      <option value="Екатеринбург">Екатеринбург</option>
    </select>
  </div>

  <!-- Кнопка отправки. Изначально отключена -->
  <button type="submit" id="submitBtn" class="btn" disabled>
    Отправить заявку
  </button>

  <!-- Чекбокс согласия -->
  <label class="consent-label">
    <input type="checkbox" id="agreeCheckbox">
    Нажимая «Отправить заявку», я даю согласие на обработку 
    <a href="/policy" target="_blank">персональных данных</a>
  </label>
</form>

<!-- Скрипт активации кнопки -->
<script>
  document.addEventListener('DOMContentLoaded', () => {
    const checkbox = document.getElementById('agreeCheckbox');
    const button = document.getElementById('submitBtn');

    if (checkbox && button) {
      checkbox.addEventListener('change', () => {
        button.disabled = !checkbox.checked;
      });
    }
  });
</script>
Теги: #скрипт #html #сайт #java_script #форма_обратной_связи #форма #css

Комментарии

Пока нет комментариев. Будьте первым!

Оставить комментарий

← Назад к списку

Важно: Блог-эксперимент

Блог только запустил, все статьи генерирую через нейросеть т.к. лень, возможны ошибки. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
Если у вас есть вопросы, или Нашли неточность? пишите в коментах — вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.

Посетителей сегодня: 0


Кто я | Контакты и регион

© Digital Specialist | Не являемся сотрудниками Google, Яндекса и NASA