Ответы пользователя по тегу JavaScript
  • Почему не срабатывает отключение кнопки в disabled при не нажатом cheked?

    Ivseti
    @Ivseti Автор вопроса
    Опять никто не помог:( Пришлось самому разгребать. Не работал скрипт из-за особенностей темы или woocomerce wp. Пришлось поставить код за кнопками. Так как чек бокса два у меня, то собственно вот модель:

    JS
    <script>
                var check1 = document.getElementById('shipping-payment'); // Получаем элемент по ID
                var check2 = document.getElementById('privacy_policy');
    if (check1.checked == false && check2.checked == false ){ // Если элемент не выбран, то
        document.getElementById('place_order').disabled = true; // Элементу с ID mobileTemplates проставляем свойство disabled =true
    }
    check1.onchange = function () { // Отслеживаем изменение чекбокса
        if (check1.checked == false && check2.checked == false){ // Если элемент не выбран, то
            document.getElementById('place_order').disabled = true; // Элементу с ID mobileTemplates проставляем свойство disabled =true
        }
        else if (check1.checked == false && check2.checked !== false){ // Если элемент не выбран, то
            document.getElementById('place_order').disabled = true; // Элементу с ID mobileTemplates проставляем свойство disabled =true
        }
    
        else if (check1.checked !== false && check2.checked == false){ // Если элемент не выбран, то
            document.getElementById('place_order').disabled = true; // Элементу с ID mobileTemplates проставляем свойство disabled =true
        }
        else {
            document.getElementById('place_order').disabled = false; // Если выбран, то ставим свойсто disabled false
        }
    }
    
    check2.onchange = function () { // Отслеживаем изменение чекбокса
        if (check1.checked == false && check2.checked == false){ // Если элемент не выбран, то
            document.getElementById('place_order').disabled = true; // Элементу с ID mobileTemplates проставляем свойство disabled =true
        }
    
        else if (check1.checked == false && check2.checked !== false){ // Если элемент не выбран, то
            document.getElementById('place_order').disabled = true; // Элементу с ID mobileTemplates проставляем свойство disabled =true
        }
    
        else if (check1.checked !== false && check2.checked == false){ // Если элемент не выбран, то
            document.getElementById('place_order').disabled = true; // Элементу с ID mobileTemplates проставляем свойство disabled =true
        }
        
        else {
            document.getElementById('place_order').disabled = false; // Если выбран, то ставим свойсто disabled false
        }
    }
            </script>


    HTML
    <div class="checkout-checkbox"><div class="checkout-checkbox-privacy-policy"><input type="checkbox" id="privacy_policy" name="privacy_policy" value="privacy_policy" class="custom-checkbox"><label id="label-checkout-checkbox" for="privacy_policy">Ознакомлен(а) с суммами и условиями <a class="link-privacy_policy" href="https://mishkafurs.ru/delivery">доставки и оплаты</a></label></div><div class="checkout-checkbox-shipping-payment"><input type="checkbox" id="shipping-payment" name="shipping-payment" value="shipping-payment" class="custom-checkbox"><label id="label-checkout-checkbox" for="shipping-payment">Даю согласие на&nbsp;обработку персональных данных и&nbsp;соглашаюсь<br> c&nbsp;<a class="link-checkout-checkbox" href="https://mishkafurs.ru/public-oferta">политикой конфиденциальности</a></label></div></div>
    
            <div class="box_button_cart"><div class="for_order_cart"><a href="/cart/" class="btn_go_cart">Назад в корзину</a></div><div class="for_order_cart2"><button type="submit" class="button alt" name="woocommerce_checkout_place_order" id="place_order" value="Перейти к оплате" data-value="Перейти к оплате">Перейти к оплате</button> </div> </div>
    Ответ написан
    Комментировать
  • Uncaught DOMException: Failed to execute 'define' как исправить?

    Ivseti
    @Ivseti Автор вопроса
    wp_enqueue_script( 'main', get_theme_file_uri( '/js/main.js' ), array('jquery'), filemtime( get_theme_file_path( '/js/main.js' ) ), true );
        wp_enqueue_script( 'forms', get_theme_file_uri( '/js/main.js' ), array('jquery'), filemtime( get_theme_file_path( '/js/forms.js' ) ), true );


    Так и есть, просто моя невнимательность.... Как оказалось эти JS мне вообще не нужны...:) Спасибо большое!
    Ответ написан
    Комментировать