|
|
Модератор форума: Yuri_G |
Сообщество uCoz Вебмастеру Общие вопросы от вебмастеров Скрипт чекбокса Политика конфиденциальности? (Описание темы) |
Скрипт чекбокса Политика конфиденциальности? |
Добрый день!
Взялись за проверку сайтов, нужно на страницу регистрации вставить чекбоксы Политика конфиденциальности и Пользовательское соглашение. Желательно сделать так, что б пока человек не поставит галки в этих чекбоксах кнопка "Завершить регистрацию" была неактивной. Т.е. что бы пользователь потом не мог предъявить, что он забыл согласиться с обработкой персональных данных или вовсе не захотел, а регистрацию прошёл. Нашёл вот такой скрипт, но не получается его полноценно заставить работать: Код <script type="text/javascript"> $(document).ready(function() { $('#siF20').attr("disabled", true); $('#agreements').change(function() { $('#siF20').attr('disabled', $('#agreements:checked').length == 0); };); };); </script> Не понимаю как в скрипт добавить второй чекбокс #policy Код <input type="checkbox" id="agreements" name="agreements"> <input type="checkbox" id="policy" name="policy"> <input class="manFlSbm" id="siF20" type="submit" name="sbm" value="Завершить регистрацию" /> Хочется спросить насколько он надёжный и кроссбраузерный? Может есть что-то легче и надёжнее конкретно под UCOZ? Спасибо! Сообщение отредактировал Canon_L - Четверг, 11 Апр 2024, 18:03:35
|
Здравствуйте.
Данный скрипт не будет работать. Попробуйте такое решение: Установка: скопированный скрипт разместить перед закрывающим тегом </body> на странице "Страница регистрации пользователей". Код <script> $(function() { $('[type="submit"]').attr('disabled',true); $('form input[type="checkbox"]').on('click',function(){ if($('#agreements').prop('checked') && $('#policy').prop('checked')){ $('[type="submit"]').attr('disabled',false); }else{ $('[type="submit"]').attr('disabled',true); } };); };); </script> Логика работы: после загрузки страницы скрипт отключает кнопку "Зарегистрироваться" (или какое название у вас) и делает активной только в том случае, если выбраны чекбоксы с ID "agreements" и "policy". Если в процессе какой-либо из них отжать, то кнопка вновь становится неактивной. P.S. Обратите внимание, что в предоставленном Вами примере у чекбоксов одинаковый атрибут name - это ошибка. Сообщение отредактировал K1l0 - Четверг, 11 Апр 2024, 16:57:19
|
Он работает, но только с одним чекбоксом, в плане не понимаю как дописать второй #policy, чтоб скрипт срабатывал только когда оба чекбокса активны. Смысл в том, что кнопке по умолчанию добавляется disabled="disabled". А при активации чекбокса снимается. Так через CSS можно назначить цвет и курсор активной кнопки и нет. Например, серая кнопка меняется на зелёную при выполнении условий скрипта. Примерно так: Код .manFlSbm { cursor: pointer; background: rgba(0, 181, 77, 1.0); transition: 0.2s linear; } .manFlSbm [disabled]{ background-color: rgba(155, 155, 155); pointer-events: none; } .manFlSbm:hover { background: rgba(0, 181, 77, 0.8); } Что-то не хочет работать Первый из моего примера работает, но пока только с одним чекбоксом. Обратите внимание, что в предоставленном Вами примере у чекбоксов одинаковый атрибут name - это ошибка. Да, исправил, что б путаницы не было, бегло писал, не обратил внимания. Прикрепления:
0022026.png
(4.6 Kb)
·
2302039.png
(5.0 Kb)
Сообщение отредактировал Canon_L - Четверг, 11 Апр 2024, 18:27:42
|
Цитата Он работает, но только с одним чекбоксом, в плане не понимаю как дописать второй #policy, чтоб скрипт срабатывал только когда оба чекбокса активны. ЦитатаЧто-то не хочет работать Ссылку страницы где это требуется предоставьте. будет в разы быстрее, чем когда я буду пытаться угадать как именно у вас написана форма регистрации. Цитата Первый из моего примера работает, но пока только с одним чекбоксом. |
Верно. Видимо совпадение – я правил сообщение в тот момент когда вы его читали. Ссылку страницы где это требуется предоставьте. будет в разы быстрее, чем когда я буду пытаться угадать как именно у вас написана форма регистрации. Я пока к форме не привязываюсь, что б не мешать людям регистрироваться. Просто делаю на рабочем столе. Подключил библиотеку Jquery и зная ID чекбоксов и кнопки пытаюсь воспроизвести сценарий. Да, но 100% работает. Может можно его как-то поправить для чекбоксов #agreements и #policy, привязываясь к копке submit или её классу или ID? |
| |||
| |||