Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 从窗口定位按钮_Extjs_Extjs4.2 - Fatal编程技术网

Extjs 从窗口定位按钮

Extjs 从窗口定位按钮,extjs,extjs4.2,Extjs,Extjs4.2,也许这是一个愚蠢的问题,但我现在真的不知道,在我刚刚重新定义和创建的窗口中,如何定位按钮。我 使用ExtJS4.2.1,我产生了一种mvc,但更类似于使用这种类型框架的旧方法 我必须定义一个有两个按钮“提交”和“关闭”的窗口,如下所示: Ext.define('newWindow',{ extend:'Ext.window.Window', config: { submitFn:function(){return null;} } bodySty

也许这是一个愚蠢的问题,但我现在真的不知道,在我刚刚重新定义和创建的窗口中,如何定位按钮。我 使用ExtJS4.2.1,我产生了一种mvc,但更类似于使用这种类型框架的旧方法

我必须定义一个有两个按钮“提交”和“关闭”的窗口,如下所示:

Ext.define('newWindow',{
    extend:'Ext.window.Window',

    config: {
        submitFn:function(){return null;}
    }
    bodyStyle: 'padding: 5px 5px 0',
    layout:'fit',
    width:460,
    height:390,
    plain: false,
    border:false,
    resizable: false,
    buttons: [{
        text:'submit',
        handler: function(){this.up.up.submitFn()},
        tabIndex:1000
    },{
        text: 'close',
        handler: function(){
            this.up().up().hide();},
        tabIndex:1001
    }]
})
当我在我的代码中创建这个窗口时,我想给他传递一个函数来处理他的行为,但我不能。。 我试着给他输入itemId,id,但是Ext.getCmp(id),Ext.ComponentQuery.query(id)不能完成他们的工作

重新编辑:

好吧,问题还不清楚:我用这种方式定义组件newWindow。 我说我不使用mvc模式,在我程序的一部分中,我在这里创建了这个组件

var dlg=Ext.create('newWindow',{submitFn:submit})

其中submit是我需要调用的函数,用于提交窗口中的值以及她的逻辑。
这就是我需要做的,但我要求所有其他方法来做。

您总是可以设置窗口的
可关闭:true
,而不是定义您自己的按钮。

我假设您尝试获取按钮引用的所有方法都不起作用,因为在调用按钮时没有创建按钮。调用
Ext.getCmp
时,您应该等待按钮呈现,或者在控制器
init
方法中使用
this.control
。以下是一个例子:

Ext.define('myController', {
    extend: 'Ext.app.Controller',
    init: function() {
        this.control({
             '#submitButton': {
                 click: this.onSubmitButtonClick
             }
         });
     },

     onSubmitButtonClick: function() {
         console.log('Click');
     }
});

fmt:message标记不是来自ExtJS的。。。你知道的,对吧?现在,如果您可以获得对按钮的引用,您可以显示您想要进行的函数调用吗(你显然想用
Ext.getCmp
做什么?我不认为这是在回答问题,他还需要一个提交按钮,也许控制器中的其他事情可能会越界,但你的答案仍然根本没有回答问题,这对为什么有人投票支持它没有任何意义。@cclerville y是的,我可以,但我需要用一个底部有两个按钮的窗口来实现这种界面。我知道这是多余的,但我必须这样做。我不使用控制器,因为我不使用extjs mvc模式。无论如何,谢谢。