在extjs中监听Filefield上的更改

时间:2013-06-24 10:02:38

标签: file extjs extjs4.1

我希望在文件更改时收听。但它不起作用

{
            xtype: 'filefield',
            id: 'form-file',
            fieldLabel: 'Photo',
            name: 'photo-path',
            buttonText: '',
            buttonConfig: {
                iconCls: 'upload-icon'
            },
            listeners: {
                  'change': function(this, value){
                        alert('change');
                  }
            }
}

2 个答案:

答案 0 :(得分:1)

你无法使用Extjs的文件字段

我有解决方案。

示例:http://jsfiddle.net/e3M3e/e8V7g/

var itemFile = null;
Ext.create('Ext.panel.Panel', {
    title: 'Hello',
    width: 400,
    html: "<input id='inputFile' type='file' name='uploaded'/>",
    renderTo: Ext.getBody(),
    listeners: {
        afterrender: function() {
            itemFile = document.getElementById("inputFile");            
            itemFile.addEventListener('change', EventChange, false);
        }
}
});

function EventChange(e){    
    var files = itemFile.files;
    console.log(files);
}

答案 1 :(得分:1)

我找到了解决办法:功能改变必须是:

change: function(f,new_val) { alert(new_val); }