首次渲染此表单时,我可以选择多个文件并成功将其上传到服务器。在第二次尝试或更多次浏览要上载的其他文件时,上载对话框窗口仅限于一个文件。请帮忙。对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的全部内容。