2012-04-24 14 views
0

私はExt.Form.Panelを使用していますが、今回はExt.form.field.Fileを使用します。 field.file infoにform.Panlenを入れてデータをアップロードしてアップロードすることができました。これは唯一の選択肢ではないと思います。今の私が持っている:ExtJS 4代わりにExt.form.field.Fileを使用するExt.Form.Panel提出する方法

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私は基本的にダミーフォームを作成し、このフォームにsubmit()を呼んでいた同様の問題を扱った

答えて

1

。このようなもの:

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

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

ええ、これは私が最初にやったことです。しかし、すべてのボタンはツールバーにあり、そこにパネルを作成して何らかの理由で[アップロード]ボタンを追加すると、ファイルの 'ブラウズ... 'ボタンの下に表示されます。フィールドとツールバーが広くなります。私は、同じ行に両方のボタンを揃えなければならないか、別のイベントにsubmitイベントを渡す必要があります。現時点ではどちらもできません。どのようにアップロードボタンを追加しましたか? – Leron

+0

あなたは2つのボタンを持つ必要はありません...ただ1人が行います – sha

+0

うーん、ここで私を助けることができますか?私は一つのボタンを私が使うのは、デフォルトではブラウズと呼ばれていますが、このボタンだけを使って意志で提出することはできますか、それ以上の確認なしに選択肢に提出するか、右? – Leron

関連する問題