单击不同按钮 extjs4.1 时触发文件选择

Joh*_*ohn 0 javascript extjs extjs4 extjs4.1

如何使用不同的按钮或组件打开文件字段的文件选择对话框?我尝试在互联网上搜索,但找不到解决方案。我想要做的是在单击面板时打开文件选择对话框。

Cra*_*mps 6

您必须filefield在 DOM 级别触发“浏览...”按钮的点击事件。简单地说,这个想法是获取对 的引用<input>并启动其点击事件。

这是一个示例(也在JSFiddle - http://jsfiddle.net/fa4bwp7q/3/ 上):

var fileField = Ext.create('Ext.form.field.File', { renderTo: 'myDiv', hidden: true });

var textField = Ext.create('Ext.form.field.Text', {
    renderTo: 'myDiv',
    listeners: {
        change: function(btn, newValue) {
            fileField.fileInputEl.dom.click();
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

这应该在输入时打开文件浏览器textfield,而filefield始终隐藏。

这甚至适用于 ExtJS 5。