Как отключить кнопку Отправить (submit) в форме на сайте

Технические моменты создания сайтов и других Web-приложений.

Как отключить кнопку Отправить (submit) в форме на сайте

Сообщение Лера » 13 ноя 2020, 07:59

Недавно столкнулась с такой интересной задачей. В связи с различными законами о персональных данных потребовалось во всех формах обратной связи сделать функционал, при котором нельзя было бы отправить форму не поставив галочку о том что человек согласен на обработку персональных данных. Пока не поставит галочку - форма не должна отправляться.
Как это сделать? Помогите пожалуйста.
Аватар пользователя
Лера
Продвинутый Юзер
 
Сообщений: 308
Зарегистрирован: 14 мар 2012, 08:26

Re: Как отключить кнопку Отправить (submit) в форме на сайте

Сообщение Платон » 14 ноя 2020, 07:03

Попробуйте сделать следующим образом.
В верху страницы разместите вот такой код:
Код: выделить все
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<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('Форма успешно отправлена!');
                  
location.replace("/page.htm");
         e.preventDefault();
      });
   });
</script>

В самой же форме добавьте такие строчки:
Код: выделить все
<p>
<input type="checkbox" name="privacy">
<a href="/info.htm" target="_blank">Я согласен на обработку персональных данных</a>
</p>

Теперь если не поставлена галочка, при попытке отправить форму будет всплывать предупреждающее окно а форма не отправится пока не будет установлена галочка.
Такой вот способ.
Аватар пользователя
Платон
Чайник
 
Сообщений: 29
Зарегистрирован: 10 окт 2019, 15:21

Re: Как отключить кнопку Отправить (submit) в форме на сайте

Сообщение BoiKot » 16 ноя 2020, 08:48

Предлагаю вариант проще. Добавляете в форму такую строчку:
Код: выделить все
<input id="checkbox" type="checkbox" name="checkbox" onchange="document.getElementById('submit').disabled = !this.checked;">
    <label for="checkbox">Я согласен на обработку персональных данных</label>

И в самой кнопке пишите так:
Код: выделить все
<input type="submit" id="submit" disabled="disabled" value="Отправить заявку" name="ok">

По умолчанию кнопка будет отключена. И что бы форма отправилась хочешь не хочешь а нужно поставить галочку. А это как раз вам и нужно.
Аватар пользователя
BoiKot
Продвинутый Юзер
 
Сообщений: 299
Зарегистрирован: 13 мар 2012, 08:16

Re: Как отключить кнопку Отправить (submit) в форме на сайте

Сообщение Лера » 18 ноя 2020, 07:41

Спасибо огромное. Второй способ мне лично понравился больше, его и применила. Все работает.
Аватар пользователя
Лера
Продвинутый Юзер
 
Сообщений: 308
Зарегистрирован: 14 мар 2012, 08:26


Вернуться в Программирование для Web

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron