付款方式输入框默认禁用 - 有趣的Javascript不兼容

时间:2011-03-18 21:23:40

标签: javascript forms magento

这段代码是Magento默认主题的onepagecheckout - 在加载时调用payment.init()这是一个对象文字函数:

init : function () {
    var elements = Form.getElements(this.form);
    var method = null;
    for (var i=0; i<elements.length; i++) {
        if (elements[i].name=='payment[method]') {
            if (elements[i].checked) {
                method = elements[i].value;
            }
        } else {
            elements[i].disabled = true;
        }
    }
    if (method) this.switchMethod(method);
},

出于某种原因,仅在IE9中,付款表单中的输入框似乎默认为“disabled = true”...是否有更好的方法来实现此目的? IE9是唯一一个在这里行为不端的人......

更新

我的临时修复方法是完全禁用此调用。我们不要求禁用隐藏字段。这是保持兼容性的要求吗?

1 个答案:

答案 0 :(得分:1)

这可能与Magento和IE9使用的旧Prototype库之间的不兼容性有关。更多信息请点击此处:http://alanstorm.com/ie9_fix_for_magento 请注意,计划在下一版本中升级Prototype库。