javascript - 未捕获的类型错误 : Cannot set property ‘disabled’ of undefined - During Checkout Process Magento

标签 javascript magento dom-events e-commerce magento-1.7

我在我的网站 ilgirastore.com 的一页结账的 Javascript 文件中遇到了这个问题,当客户登录而不是进行非注册结账时,就会发生这种情况,可能我希望是与某些扩展名发生冲突,在我之后当我在这里时重新加载页面 https://ilgirastore.com/checkout/onepage/我第二次单击“继续”按钮,问题不再出现,我可以继续结账。有什么建议么? 引发异常的函数是这样的:

_disableEnableAll: function(element, isDisabled) {
    var descendants = element.descendants();
    for (var k in descendants) {
        descendants[k].disabled = isDisabled;
    }
    element.disabled = isDisabled;
}

文件在这里:http://ilgirastore.com/skin/frontend/default/shopper/js/opcheckout.js 我正在使用 Magento CE 1.7.0.2 您可以自由地使用假订单进行测试,只需编写测试或随机内容即可。

最佳答案

问题可能出在这里 for (var k in Descendants) 因为 JavaScript 中的 foreach 不能按预期工作,它可能会遍历对象的任何属性、其原型(prototype)、其他里面的物体等等,你无法真正确定它得到了什么。

试试这个

_disableEnableAll: function(element, isDisabled) {
    var descendants = element.descendants();
    var keys = Object.keys(descendants);
    for (var k = 0; k < keys.length; k += 1) {
        descendants[keys[k]].disabled = isDisabled;
    }
    element.disabled = isDisabled;
}

后代也可能是一个数组,而不是一个对象,在这种情况下尝试这个

_disableEnableAll: function(element, isDisabled) {
    var descendants = element.descendants();
    for (var k = 0; k < descendants.length; k += 1) {
        descendants[k].disabled = isDisabled;
    }
    element.disabled = isDisabled;
}

关于javascript - 未捕获的类型错误 : Cannot set property ‘disabled’ of undefined - During Checkout Process Magento,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14465126/

相关文章:

javascript - 路由、通用应用程序(Nodejs、React)、错误(0、_reactRouter.match)不是函数

javascript - 如何在 JavaScript 中模拟 let 表达式?

javascript - onBeforeUnload 没有被 headless 浏览器触发

javascript - 在 javascript 或 jQuery 中将字符串解码为有效的 JSON

javascript - JavaScript 中的字符串解析

php - Magento 产品分类

php - 完整性约束违规 : Magento

magento - 结帐成功后如何发送电子邮件?

Javascript onclick 事件在 Internet Explorer 8 中不起作用

java - 我们是否有任何通用函数来检查页面是否已完全加载到 Selenium 中