我在我的网站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 你可以自由地测试假订单只是写测试或随机的东西谢谢你们!
答案 0 :(得分: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;
}
答案 1 :(得分:0)
对我来说,这个错误是由Twitter提要(或其他社交插件)引起的。