1
我有Extjs ViewPort面板,其中包含中心面板,其中包含tablpanel,其中我已经在一个选项卡中添加gridpanel,对此我已添加'添加人'按钮的tbar,将添加一个FormPanel的新选项卡,在其重置按钮中,我无法访问表单来重置它。ExtJs获取从按钮单击动态创建的FormPanel。
做任何机构都面临同样的问题...请帮助如何让它工作。
Ext.onReady( function(){ // Ext.get(document.body, true).toggleClass('xtheme-gray'); var myBorderPanel = new Ext.Viewport({ title: 'Software Releases', // renderTo: document.body, renderTo: Ext.getBody(), layout: 'border', id: 'main', items: [ { title: 'Center Region', region: 'center', // center region is required, no width/height specified tbar: [ { text: 'Add person', // only when user have write priovilege. handler: function() { var tabpanel = Ext.getCmp('main').findById('tabs'); var wtab = tabpanel.add({ // // var addrelease_win = new Ext.Window({ url: 'reledit-submit.json', id: 'addform0', // height: 300, width: 400, layout: 'form', frame: true, title: 'Add New Release', closable: true, items: [ { xtype: 'textfield', fieldLabel: 'Name' } buttons: [{ text: 'Save', scope: wtab, handler: function() { wtab.getForm().submit({ success: function(f,a) { Ext.Msg.alert('Success', 'It worked'); }, failure: function(f,a){ Ext.msg.alert('Warnning', 'Error'); } }); } },{ text: 'Reset', scope: wtab, handler: function() { // Ext.getCmp('addform0').getForm().reset(); // tabpanel.getActiveTab.reset(); // Ext.getCmp('main').findById('addform').getForm().reset(); // this.getForm().reset(); // this.getForm().reset(); // Ext.Msg.alert('sdfsd', 'asdfsd ' + Ext.getCmp('addform0').getValue() + ' sdfsd'); this.findById('addform0').getForm().reset(); // Ext.Msg.alert('sdfsd', 'asdfsd '); } }] }); // addrelease_win.show(); tabpanel.activate(tabpanel.items.length - 1); } } ], xtype: 'tabpanel', id: 'tabs', activeTab: 0, items: [{ title: 'Data', xtype: 'editorgrid', store: store, stripeRows: true, // autoExpandColumn: 'title', columns: [ {header: "Name" , dataIndex: "name" , width: 50, sortable: true}, {header: "DOB", dataIndex: "dob" , sortable: true} ], }) }], margins: '5 5 0 0' } ] }); }
肖恩感谢您的帮助,wtab.getForm.reset()不工作, 我是很新的ExtJS的INFACT的JavaScript, 不知道如何准确使用this.ownerCt 但我已经试过这一点。 ownerCt()。getForm()。reset() and this.ownerCt.getForm()。reset()两者都不起作用... – Sharad 2010-05-18 08:27:03
当您说'不工作'时,请添加_how_,也就是说,错误信息(并使用控制台)。 ownerCt是一个属性,而不是一个方法。请参阅Extjs的官方文档:http://www.extjs.com/deploy/dev/docs/ 但是,真正的错误在于您没有使用FormPanel,而是使用表单布局的Panel。而不是使用'layout:'form',使用'xtype:'form''。这应该让你访问'getForm()'方法 – 2010-05-18 11:01:19
感谢肖恩,是的,在将布局更改为xtype后立即工作。 非常感谢。 – Sharad 2010-05-18 11:38:21