从文件字段Extjs小部件获取文件名

时间:2014-11-17 16:08:01

标签: extjs extjs4

是否有某种方法可以从Extjs中的 filefield 小部件获取文件名?

我可以使用下面的值,但这会给我一个 c:\ fakepath \ blah 字符串。而在Internet Explorer中又有所不同。

    xtype: 'filefield',
    itemId: 'fileupload-field',

    listeners: {
        change: function (fld, value) {
            var fuf = Ext.ComponentQuery.query("#fileupload-field");
            //??
        }
    }

不是执行所有这些字符串操作(由于路径不是字符转义,这比看起来更难)来获取文件名,我希望文件字段组件有一个方法或者属性,它只给我文件名

然而,看API我看不到任何可以帮助我的事情。

2 个答案:

答案 0 :(得分:3)

xtype: 'filefield',
itemId: 'fileupload-field',

listeners: {
    change: function (fld, value) {
        var newValue = value.replace(/^.*\\/, "");;
        fld.setRawValue(newValue);
    }
}

答案 1 :(得分:1)

Ext.create('Ext.form.Panel', {
            title: 'Upload a Photo',
            width: 400,
            bodyPadding: 10,
            frame: true,
            renderTo: Ext.getBody(),
            items: [{
                xtype: 'filefield',
                name: 'photo',
                fieldLabel: 'Photo',
                labelWidth: 50,
                msgTarget: 'side',
                allowBlank: false,
                anchor: '100%',
                buttonText: 'Select Photo...',
                listeners: {
                    change: function(fld, value) {
                        alert(value.replace(/C:\\fakepath\\/g, ''));    

                    }
                }
            }]
        });

https://fiddle.sencha.com/#fiddle/dgr

Filefield with extjs 4.2 without fakepath