【问题标题】:I have an error on Magento "Uncaught TypeError: Cannot read property 'observe' of null "我在 Magento 上遇到错误“未捕获的 TypeError:无法读取属性 'observe' of null ”
【发布时间】:2014-09-16 18:48:23
【问题描述】:

所以,这是我遇到问题的网站:www.filteright.com

当我尝试下订单时,我进入最后一步(在添加信用卡详细信息之后)并按下下单但没有任何反应(它说加载然后停止。我已经检查了 chrome 中的控制台( F12),这是我得到的错误。

如果您想亲自尝试,可以使用以下信用卡数据: 签证 卡号:4900 0000 0000 0003 到期日期:12/2015 CVV:123 (来自已售出的测试信用卡数据)

我猜这行代码有问题

$('subscription_plan').observe('change', function(event){

我没有太多使用 magento 的经验,但我正在努力帮助某人解决这个问题。

如果您能告诉我那里出了什么问题,我将不胜感激。

<script>
var subscriptionForm = new VarienForm('subscription-form');
subscriptionForm.submit = function () {
    return VarienForm.prototype.submit.bind(subscriptionForm)();
}

document.observe("dom:loaded", function() {
    $('subscription_plan').observe('change', function(event){
        var index = this.value;
        $$('.plan-details').each(function(element, index){
            element.hide();
        });
        if ($('plan-details-' + index)) {
            $('plan-details-' + index).show();
        }
    });

    $('btn-change-subscription').observe('click', function(event){

    });
});
</script>

【问题讨论】:

  • 您需要告诉我们出了什么问题。你想做什么?你期望得到什么,你得到了什么?您应该编辑您的问题并添加有关您的问题的更多信息。
  • 你好@Jubobs 我已经添加了更多信息。我不知道我还能提供什么。
  • 这样更好。我帮不了你,但我相信其他人会。

标签: magento


【解决方案1】:

这是一个与 PrototypeJS 相关的问题。 您收到的错误是因为它在 DOM 中找不到元素,为此调用了 .observe()

签入页面源以在页面中包含带有 id="subscription_plan"id="btn-change-subscription"。如果你找不到它们,那么你必须找到它们不在页面中的原因。

【讨论】:

    猜你喜欢
    • 2015-06-18
    • 2016-06-23
    • 1970-01-01
    • 2016-01-09
    • 2016-01-03
    • 2016-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多