karelina-nat
@karelina-nat

Как сделать кнопку disabled, пока не нажат checkbox?

Есть форма

<form class="loyalty-form">
                <input type="hidden" value="Форма на странице о нас" name="subject">
                <input type="hidden" value="Имя" name="username">
                <input type="hidden" value="Телефон" name="userphone">

                <div class="loyalty-form__input-container">
                    <input id="name-about" onkeyup="checkParamsAbout()" type="text" class="loyalty-form__input  loyalty-form__input--control" name="name" required=""
                        placeholder="">
                    <p class="loyalty-form__placeholder">Ваше имя <span class="loyalty-form__pink">*</span>
                </div>
                </p>

                <div class="loyalty-form__input-container">
                    <input id="phone-about" onkeyup="checkParamsAbout()" type="tel" class="loyalty-form__input  loyalty-form__input--control" name="phone" required=""
                        data-mask="+7(000)000-00-00" placeholder="" maxlength="16">
                    <p class="loyalty-form__placeholder">Ваш мобильный телефон <span class="loyalty-form__pink">*</span>
                    </p>
                </div>

                <p class="loyalty-form__text"><span class="loyalty-form__pink">*</span> Звездочкой отмечены поля,
                    обязательные для
                    заполнения.</p>

                <input type="checkbox" required="" class="loyalty-form__checkbox-agreem" name="check" id="personaldata-about">
                <label class="loyalty-form__label-agreem" for="personaldata">Согласен(а) на обработку моих персональных данных</label>

                <input type="hidden" value="Информация получена, спасибо" name="echo">
                <input class="button-block--loyalty" id="submit-about" disabled type="submit" value="Отправить заявку">
            </form>


И скрипт, который проверяет инпуты
function checkParamsAbout() {
     var name = $('#name-about').val();
     var phone = $('#phone-about').val();


     if (name.length != 0 && phone.length == 16) {
         $('#submit-about').removeAttr('disabled');
     } else {
         $('#submit-about').attr('disabled', 'disabled');
     }
 }


Как изменить скрипт, чтобы без отмеченной галки
Согласен(а) на обработку моих персональных данных
и проверки инпутов, кнопка оставалась disabled?
  • Вопрос задан
  • 560 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
$('form').on('input', function() {
  $('#submit-about').prop('disabled', ![
    $('#name-about').val().length !== 0,
    $('#phone-about').val().length === 16,
    $('#personaldata-about').prop('checked'),
  ].every(Boolean));
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы