首次成功上传filefield extjs

时间:2017-02-01 03:30:35

标签: extjs

首次渲染此表单时,我可以选择多个文件并成功将其上传到服务器。在第二次尝试或更多次浏览要上载的其他文件时,上载对话框窗口仅限于一个文件。请帮忙。对extjs来说仍然是新手。这是代码。谢谢。

    Ext.onReady(function () {

        Ext.QuickTips.init();
        Ext.form.Field.prototype.msgTarget = 'side';

        formUpload.render(document.body);
    });

    var formUpload = Ext.create('Ext.form.Panel', {

        labelWidth      : 85,
        frame           : true,
        title           : 'Login user',
        width           : 460,
        defaults        : {width: 250, allowBlank: false},
        defaultType     : 'textfield',
        url             : 'php/uploadimage.php',
        style: {
            marginLeft  : 'auto',
            marginRight : 'auto'
        },

        items: [
            {
                xtype: 'filefield',
                name: 'images[]',
                fieldLabel: 'Name',
                emptyText: 'Select images',
                margin: '20',
                anchor: '95%',
                buttonText: 'Browse',
                buttonConfig: {
                    iconCls: 'upload-icon'
                },
                style: {
                    marginLeft  : 'auto',
                    marginRight : 'auto'
                },
                listeners : {
                    afterrender : function(cmp){
                        cmp.fileInputEl.set({
                            multiple: 'multiple'
                        });
                    }
                }
            }
        ],
        buttons: [
            {
                text        : 'submit',
                formBind    : true,
                disabled    : true,
                handler     : function(){

                    if(formUpload.isValid())
                    {
                        formUpload.submit({
                            success     : function(form, action){

                                var assoc = Ext.JSON.decode(action.response.responseText);
                                Ext.MessageBox.alert('Succeeded', assoc["reason"]);
                            },
                            failure     : function(form, action){

                                var assoc = Ext.JSON.decode(action.response.responseText);
                                Ext.MessageBox.alert('Failed', assoc["reason"]);
                            }
                        });
                    }
                }
            }
        ]

    });

编辑:

将文件字段再次设置为多个后,它可以正常工作。

formUpload.submit({
    success     : function(form, action){

        Ext.getCmp('picfield').fileInputEl.set({multiple: true});   //  set fileuploadfield to multiple
        var assoc = Ext.JSON.decode(action.response.responseText);
        Ext.MessageBox.alert('Succeeded', assoc["reason"]);
    },
    failure     : function(form, action){

        Ext.getCmp('picfield').fileInputEl.set({multiple: true});   //  set fileuploadfield to multiple
        var assoc = Ext.JSON.decode(action.response.responseText);
        Ext.MessageBox.alert('Failed', assoc["reason"]);
    }
});

我只是追加“Ext.getCmp('picfield')。fileInputEl.set({multiple:true});”内部成功与失败的功能体。还需要解释fileInputEl的全部内容。

0 个答案:

没有答案