ExtJS 4使用Ext.form.field.File而不是Ext.Form.Panel如何提交

时间:2012-04-24 16:12:10

标签: php extjs

我正在成功使用Ext.Form.Panel,但这次我想使用Ext.form.field.File。我能够提交并上传数据,将field.file信息放入form.Panlen,我认为这不是唯一的选择。现在我有:

Ext.create('Ext.form.field.File', {
                            id: 'ala-bala',
                            name: 'doc',
                            width: 300,
                            buttonOnly: true,
                            hideLabel: true,
                            listeners: {
                                'change': function(fb, v){
                                    var el = Ext.getCmp('ala-bala-nica');
                                    el.update('<b>Selected:</b> '+v);

这是我停靠的工具栏的一部分,我也有一个按钮:

xtype:'button',
                    icon: g_settings.iconUrl + 'add-icon.png',
                    text: 'Add File',
//                  handler: this._addDocument
                    handler: function() { 
                        var form = Ext.getCmp('ala-bala').getRawValue();
//                      if(form.isValid()){
                            form.submit({
                                }
                            }

显然我不能使用form.submit,但我希望有一种方法可以保存我的form.field.File并且仍然可以提交和上传我的文件。只是想不出来。

由于

Leron

1 个答案:

答案 0 :(得分:1)

当我处理类似的问题时,我基本上创建了一个虚拟表单并在此表单上调用submit()。像这样:

var form = Ext.create('Ext.form.Panel', {
  items: [ my_file_field ]
});

form.getForm().submit({
  method: 'POST',
  url: 'myservice.url',
  ...
});