如何解决“无法调用未定义的方法'down'”错误

How to solve “cannot call method 'down' of undefined” error?

本文关键字:方法 错误 未定义 down 调用 何解决 解决      更新时间:2023-09-26

我的编码基本上是在用户点击"立即购买"选项产品时向他们弹出一个选项框(例如:选择颜色)。

当我加载这个js时,它显示:未捕获的TypeError:无法调用未定义的方法"down"。

当我点击"立即购买"时,它会显示:未捕获的TypeError:无法调用未定义的方法"addToCartHandle"。

<script type="text/javascript">     
    var urlAction = '<?php echo $this->getActionUrlBuy() ?>';
    var groupdeal = new GroupDeal('deal-ajaxcart-load-ajax','deal-ajaxcart-pop-up','deal-ajaxcart-content','','div[class="block block-cart"]',$$('.header').first().down('ul.links'),'ajaxcart'); //error here

    groupdeal.addToCartHandle = function(requestUrl, product_id, deal_id){
        groupdeal.url = urlAction+'?productId='+product_id;     
        $('deal-ajaxcart-load-ajax').show();        
        new Ajax.Request(urlAction,{
            method: 'get',          
            parameters: {productId:product_id, dealId:deal_id},
            onException: function (xhr, e){             
                $('deal-ajaxcart-load-ajax').hide();
                $('deal-ajaxcart-pop-up').hide();
                window.location.href = groupdeal.url;
            },
            onComplete: groupdeal.ajaxOnComplete
        });
    }
    groupdeal.ajaxOnComplete = function(xhr){       
        if (xhr.responseText.isJSON()){
            var response = xhr.responseText.evalJSON();
            groupdeal.popupContentWindow(response);
         }
    }
    function openPopup(product_id, deal_id){        
        groupdeal.addToCartHandle("",product_id, deal_id);//error here  
    }
    function closeDealAjaxPopup(){
        $('deal-ajaxcart-load-ajax').hide();
        $('deal-ajaxcart-pop-up').style.display = "none";
    }
    function ajaxMoreTemplateJs(){
        if ($('deal-ajaxcart-content').down(".paypal-logo")) $('ajaxcart-pop-up').down(".paypal-logo").hide();
        if ($('deal-ajaxcart-content').down(".add-to-links")) $('ajaxcart-pop-up').down(".add-to-links").hide();
    }
</script>

问题是,当它在旧站点上运行时,它工作得很好。但当移动到新网站(新皮肤,新功能)时,它无法工作。你知道怎么修吗?

我可以说,单击"立即购买"会出现错误,因为groupdeal从未从第一个错误中定义过。在我看来,你应该看看前面有两个$$(应该是一个)的call for.header,因为这个特定的方法似乎不是从另一个网站计算的。2¢