Перейти к содержанию

Рекомендуемые сообщения

Срочно! Знающие люди, помогите, пожалуйста! Сайт https://dvernik.by. Не работает кнопка "Купить". К некоторым товарам добавлялись в своё время опции (пример такого товара http://dvernik.by/vhodnayadver-k24 ) , которые,в свою очередь ,подвязывались ко вкладкам в описании товара, чтобы вместе с переключением вкладок в описании товара менялась цена. При этом выбор опции был скрыт. Все описанные действия тупо были захардкожены в описание каждой входной двери. Тогда о кнопке никто не думал. А тут вот всплыло. И я не могу разобраться, в чём проблема. Логически понимаю ,а вот как код поправить,чтобы всё работало - не знаю. Пробовала делать опции видимыми,чтобы можно было выбирать, однако кнопка всё равно не работает. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

скрипт добавления в корзину не видит полей нужных для добавления

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кажется скрипт должен быть таким. В отладчике в корзинку добавило :)


    $('#button-cart').on('click', function () {
        $.ajax({
            url: 'index.php?route=checkout/cart/add',
            type: 'post',
            data: $('.product_page-left input[type=\'text\'], .product_page-left input[type=\'hidden\'], .product_page-left input[type=\'radio\']:checked, .product_page-left input[type=\'checkbox\']:checked, .product_page-left select, .product_page-left textarea'),
            dataType: 'json',
            beforeSend: function () {
                $('#button-cart').button('loading');
            },
            complete: function () {
                $('#button-cart').button('reset');
            },
            success: function (json) {
                clearTimeout(timer);
                $('.alert, .text-danger').remove();
                $('.form-group').removeClass('has-error');

                if (json['error']) {
                    if (json['error']['option']) {
                        for (i in json['error']['option']) {
                            var element = $('#input-option' + i.replace('_', '-'));

                            if (element.parent().hasClass('input-group')) {
                                element.parent().after('<div class="text-danger">' + json['error']['option'][i] + '</div>');
                            } else {
                                element.after('<div class="text-danger">' + json['error']['option'][i] + '</div>');
                            }
                        }
                    }

                    if (json['error']['recurring']) {
                        $('select[name=\'recurring_id\']').after('<div class="text-danger">' + json['error']['recurring'] + '</div>');
                    }

                    if (json['error']['quantity']){
                        $('#content').parent().before('<div class="alert alert-danger"><i class="material-design-cancel19"></i>' + json['error']['quantity'] + ' <button type="button" class="close material-design-close47"></button> </div>');
                    }

                    // Highlight any found errors
                    $('.text-danger').parent().addClass('has-error');
                }

                if (json['success']) {
                    $('#content').parent().before('<div class="alert alert-success"><i class="material-design-verification24"></i> ' + json['success'] + '<button type="button" class="close material-design-close47"></button></div>');


                    $('#cart-total').html(json['total']);
                    $('#cart-total2').html(json['total2']);
                    $('#cart > ul').load('index.php?route=common/cart/info ul li');
                }
                timer = setTimeout(function () {
                    $('.alert').addClass('fadeOut');
                }, 4000)
            }
        });
    });

 

Изменено пользователем wbDev

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
32 минуты назад, wbDev сказал:

Кажется скрипт должен быть таким. В отладчике в корзинку добавило 



    $('#button-cart').on('click', function () {
        $.ajax({
            url: 'index.php?route=checkout/cart/add',
            type: 'post',
            data: $('.product_page-left input[type=\'text\'], .product_page-left input[type=\'hidden\'], .product_page-left input[type=\'radio\']:checked, .product_page-left input[type=\'checkbox\']:checked, .product_page-left select, .product_page-left textarea'),
            dataType: 'json',
            beforeSend: function () {
                $('#button-cart').button('loading');
            },
            complete: function () {
                $('#button-cart').button('reset');
            },
            success: function (json) {
                clearTimeout(timer);
                $('.alert, .text-danger').remove();
                $('.form-group').removeClass('has-error');

                if (json['error']) {
                    if (json['error']['option']) {
                        for (i in json['error']['option']) {
                            var element = $('#input-option' + i.replace('_', '-'));

                            if (element.parent().hasClass('input-group')) {
                                element.parent().after('<div class="text-danger">' + json['error']['option'][i] + '</div>');
                            } else {
                                element.after('<div class="text-danger">' + json['error']['option'][i] + '</div>');
                            }
                        }
                    }

                    if (json['error']['recurring']) {
                        $('select[name=\'recurring_id\']').after('<div class="text-danger">' + json['error']['recurring'] + '</div>');
                    }

                    if (json['error']['quantity']){
                        $('#content').parent().before('<div class="alert alert-danger"><i class="material-design-cancel19"></i>' + json['error']['quantity'] + ' <button type="button" class="close material-design-close47"></button> </div>');
                    }

                    // Highlight any found errors
                    $('.text-danger').parent().addClass('has-error');
                }

                if (json['success']) {
                    $('#content').parent().before('<div class="alert alert-success"><i class="material-design-verification24"></i> ' + json['success'] + '<button type="button" class="close material-design-close47"></button></div>');


                    $('#cart-total').html(json['total']);
                    $('#cart-total2').html(json['total2']);
                    $('#cart > ul').load('index.php?route=common/cart/info ul li');
                }
                timer = setTimeout(function () {
                    $('.alert').addClass('fadeOut');
                }, 4000)
            }
        });
    });

 

Спасибо огромное, но нет, всё равно не работает(((

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.