2

我将 extJS4 用于我的 GUI,因此也显示文件上传对话框。最后,我只想有一个按钮,当我点击它时,它会显示文件上传对话框,当我在那里选择一些东西时,它会自动上传文件。

对于自动“提交”,我知道我必须为文件上传对话框的 onChange 事件编写一个处理程序。因此,这不是问题。但是有没有办法在不求助于 CSS 的情况下禁用文本字段?(当我选择要上传的文件时,名称被写入文本字段......并且我想消除文本字段或至少使其不可见)。

4

1 回答 1

7

您搜索的属性是buttonOnly: true

在这里您可以找到文档

只需将其添加到示例中,如下所示:

Ext.create('Ext.form.Panel', {
    title: 'Upload a Photo',
    width: 400,
    bodyPadding: 10,
    frame: true,
    renderTo: Ext.getBody(),
    items: [{
        xtype: 'filefield',
        buttonOnly: true,
        name: 'photo',
        fieldLabel: 'Photo',
        labelWidth: 50,
        msgTarget: 'side',
        allowBlank: false,
        anchor: '100%',
        buttonText: 'Select Photo...'
    }],

    buttons: [{
        text: 'Upload',
        handler: function() {
            var form = this.up('form').getForm();
            if(form.isValid()){
                form.submit({
                    url: 'photo-upload.php',
                    waitMsg: 'Uploading your photo...',
                    success: function(fp, o) {
                        Ext.Msg.alert('Success', 'Your photo "' + o.result.file + '" has been uploaded.');
                    }
                });
            }
        }
    }]
});
于 2012-10-31T12:13:09.413 回答