2013-06-21 105 views
3

我在網格面板中有tbar。我的示例代碼如如何在網格面板的工具欄上獲取表格Extjs

tbar:[ 
      { 
       xtype: 'form', 
       items: [{ 
        xtype: 'filefield', 
        name: 'filefor', 
        labelWidth: 50, 
        allowBlank: false, 
        buttonConfig: { 
         text: 'up...' 
        } 
       }] 
      } 
      ,{ 
       text: 'add', 
       handler:function(){ 
         var form = this.up('form').getForm(); // not working 
         form.submit({}); // not working 
       } 
      } 
    ] 

我無法讓我的表單提交。我怎麼能這麼感謝:)。

回答

3

表格的同級加按鈕。您可能需要使用.prev,而不是.UP訪問形式

這裏是工作

Ext.require([ 
    'Ext.form.*', 
    'Ext.tip.*']); 

Ext.onReady(function() { 

    Ext.QuickTips.init(); 
    var f = Ext.create('Ext.form.Panel', { 
     renderTo: Ext.getBody(), 
     bodyStyle: 'padding: 5px 5px 0 5px;', 
     defaults: { 
      xtype: 'textfield', 
      anchor: '100%', 
     }, 
     html:'text', 
     tbar: [{ 
      xtype: 'form', 
      items: [{ 
       xtype: 'filefield', 
       name: 'filefor', 
       labelWidth: 50, 
       allowBlank: false, 
       buttonConfig: { 
        text: 'up...' 
       } 
      }] 
     }, { 
      text: 'add', 
      handler: function() { 
       //var form = this.prev('form').getForm(); // working at extjs4.0.2a 
       var form =this.ownerCt.down('form').getForm();// working at extjs 4.2.0 
       form.submit({}); 
      } 
     }] 

    }); 
}); 

對於現場演示,here it is the jsfiddle link片段。

+0

它的工作非常好,非常感謝這麼多:) – DeLe

2
var form = this.up('form').getForm(); // not working 
        form.submit({}); // not working 
change to: 
this.ownerCt.down('form').getForm(); 
+0

工作很好謝謝 – DeLe