0

我在我的网站 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 您可以自由地使用假订单进行测试,只需编写测试或随机的东西。

4

2 回答 2

2

问题可能出在这里, for (var k in descendants)因为 JavaScript 中的 foreach 没有按预期工作,它可能会遍历对象的任何属性、它的原型、内部的其他对象等等,你无法确定它得到了什么.

尝试这个

_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;
}
于 2013-01-23T06:45:34.797 回答
0

对我来说,这个错误是由 twitter 提要(或其他社交插件)引起的。

于 2013-02-06T13:05:25.227 回答