ExtJS 4 使用 Ext.form.field.File 代替 Ext.Form.Panel 如何提交


ExtJS 4 using Ext.form.field.File instead Ext.Form.Panel how to submit

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

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,并且仍然能够提交和上传我的文件。只是想不通。

谢谢

莱龙

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

var form = Ext.create('Ext.form.Panel', {
  items: [ my_file_field ]
});
form.getForm().submit({
  method: 'POST',
  url: 'myservice.url',
  ...
});