ExtJS 5 - Observable.dom为IE 8和IE 9

时间:2015-02-25 02:54:47

标签: internet-explorer extjs internet-explorer-8 internet-explorer-9 extjs5

我有一个窗口,里面有一个表格。单击上传按钮将显示此窗口。

因为我必须支持多个文件上传,并且还在网格中显示它们。每次添加新文件时,我都会添加一个新的文件按钮,并将其引用添加到网格中。

{
    xtype: 'form',
    itemId: 'form-itemid',
    width: 100,
    height:'100%',
    fieldId: 1,
    items: [{
        xtype: 'filefield',
        msgTarget: 'side',
        allowBlank: false,
        anchor: '100%',
        name: 'files',
        itemId: 'file-upload-'+me.fieldId+'-id',
        buttonOnly: true,
        buttonText: 'Add Files',
        listeners: {
            change: function(view, value, eOpts) {
                var form = this.up('form');
                form.onfileChange(view, value, eOpts);
            }
        }
        }],
        onfileChange: function(view, value, eOpts) {
            if (value != "") {
                var form = this;
                me.fieldId = App.util.AppConfig.getWinCount();

                var newUploadControl = {
                    xtype: 'filefield',
                    buttonOnly: true,
                    anchor: '100%',
                    buttonText: 'Add Files',
                    name: 'files',
                    itemId: 'file-upload-' + me.fieldId+'-id',
                    listeners: {
                        change: function(view, value, eOpts) {
                            form.onfileChange(view, value, eOpts);
                        }
                    }
              };
              view.hide();
              form.insert(0, newUploadControl);

              fileStore.getStore().add({
                  'filename': filename,
                  'fileId': me.fieldId - 1
              });

}

上传完成后,我正在关闭窗口。

 window.close();

此时,在IE9和IE8中我收到错误 "无法获得财产的价值' id&#39 ;:对象为空或未定义"在具有目标 fileinput 的Observable的Dom.js unsubscribe()方法中。

错误发生在文件

中的以下行
 dom = observable.dom; // results in null
 id = dom.id; (Error here) // hence dom.id gives an error here

从浏览器中检查我可以看到fileinput有其ID'。

不确定为什么dom对象为null。

1 个答案:

答案 0 :(得分:0)

这个bug已在5.1上修复,我会考虑更新整个应用程序,因为5.0.x的BUG FIX不太可能很快就会出现。