从javascript Ext.form.FormPanel获取值并设置为变量

从javascript Ext.form.FormPanel获取值并设置为变量,javascript,variables,formpanel,Javascript,Variables,Formpanel,我对以下javascript有问题: var stereo_form =new Ext.form.FormPanel({ id: "stereoInfo_panel", autoDestroy:true, frame: true, width: 410, items:[{ xtype: 'textfield', fieldLabel: 'DEM Resolution',

我对以下javascript有问题:

var stereo_form =new Ext.form.FormPanel({
        id: "stereoInfo_panel",
        autoDestroy:true,
        frame: true,
        width: 410,
        items:[{
            xtype: 'textfield',
            fieldLabel: 'DEM Resolution',
            name: 'resolution',
            value: '0.005' //sets a default value

        },{
            xtype: 'textfield',
            fieldLabel: 'Pyramid Level',
            name: 'matching',
            value: '0' //sets a default value

        },{
            xtype: 'textfield',
            fieldLabel: 'Size of DEM',
            name: 'size',
            value: '50.00' //sets a default value

        }],
            buttons: [{
                text: 'Confirm',
                handler: function()
                        {
                               // user1 = value of resolution field
                                                // user2 = value of matching field
                                                // user3 = value of size field
                            w.close();
                        }

        }]
    }); 

    var w =new Ext.Window({
        id: "stereoInfo_win",
        title: "Stereo Reconstruction Parameters",
        layout: 'form',
        height: 152,
        width: 415,
        items: stereo_form

    });
因此,我需要为三个user1、user2和user3变量分配表单字段resolution、matching和size中的值,当按下“confirm”按钮时,我该怎么做

詹姆斯试试这个:

var w = new Ext.Window({
        id: "stereoInfo_win",
        title: "Stereo Reconstruction Parameters",
        layout: 'form',
        height: 152,
        width: 415,
      items: {
        xtype: 'form',
        id: "stereoInfo_panel",
        frame: true,
        width: 410,
        items:[{
            xtype: 'textfield',
            fieldLabel: 'DEM Resolution',
            name: 'resolution',
            value: '0.005' //sets a default value

        },{
            xtype: 'textfield',
            fieldLabel: 'Pyramid Level',
            name: 'matching',
            value: '0' //sets a default value

        },{
            xtype: 'textfield',
            fieldLabel: 'Size of DEM',
            name: 'size',
            value: '50.00' //sets a default value

        }],
            buttons: [{
                text: 'Confirm',
                handler: function(btn)
                 {

                 // console.log(Ext.getVersion()); // uncomment to know your extjs version

                 // traverse to the form object, then get the fields values
                 var values = btn.findParentByType('form').getForm().getValues();

                  user1 = values['resolution'];
                 user2 = values['matching'];
                 user3 = values['size'];

                 // traverse up again to the window object
                 btn.findParentByType('window').close();
             }

        }]
    }

});
试试这个:

var w = new Ext.Window({
        id: "stereoInfo_win",
        title: "Stereo Reconstruction Parameters",
        layout: 'form',
        height: 152,
        width: 415,
      items: {
        xtype: 'form',
        id: "stereoInfo_panel",
        frame: true,
        width: 410,
        items:[{
            xtype: 'textfield',
            fieldLabel: 'DEM Resolution',
            name: 'resolution',
            value: '0.005' //sets a default value

        },{
            xtype: 'textfield',
            fieldLabel: 'Pyramid Level',
            name: 'matching',
            value: '0' //sets a default value

        },{
            xtype: 'textfield',
            fieldLabel: 'Size of DEM',
            name: 'size',
            value: '50.00' //sets a default value

        }],
            buttons: [{
                text: 'Confirm',
                handler: function(btn)
                 {

                 // console.log(Ext.getVersion()); // uncomment to know your extjs version

                 // traverse to the form object, then get the fields values
                 var values = btn.findParentByType('form').getForm().getValues();

                  user1 = values['resolution'];
                 user2 = values['matching'];
                 user3 = values['size'];

                 // traverse up again to the window object
                 btn.findParentByType('window').close();
             }

        }]
    }

});

好的,这不起作用,而且现在窗户也关不上了。。。。。我已经编码了:按钮:[{text:'Confirm',handler:function(btn){var values=btn.up('stereou_form').getValues();Ext.Msg.alert('Attention','No Parameters injected by user');w.close();}]});var w=新的Ext.Window({id:“stereoInfo_-win”,标题:“立体重建参数”,布局:'form',高度:152,宽度:415,项目:stereoInfo_-form});没有,只是不关闭窗口-不给变量赋值并继续在后台运行脚本……顺便问一下,你使用什么版本的ExtJS?我不知道!继承了剧本。。。。顺便问一下,通过查看上面的脚本,我应该在“表单”和“窗口”中输入哪些确切值?我明白了。这些是这些小部件的别名。”“窗体”用于Ext.form.FormPanel,而“窗口”用于Ext.window。让它们保持原样。好吧,这不起作用,而且现在窗户也关不上了。。。。。我已经编码了:按钮:[{text:'Confirm',handler:function(btn){var values=btn.up('stereou_form').getValues();Ext.Msg.alert('Attention','No Parameters injected by user');w.close();}]});var w=新的Ext.Window({id:“stereoInfo_-win”,标题:“立体重建参数”,布局:'form',高度:152,宽度:415,项目:stereoInfo_-form});没有,只是不关闭窗口-不给变量赋值并继续在后台运行脚本……顺便问一下,你使用什么版本的ExtJS?我不知道!继承了剧本。。。。顺便问一下,通过查看上面的脚本,我应该在“表单”和“窗口”中输入哪些确切值?我明白了。这些是这些小部件的别名。”“窗体”用于Ext.form.FormPanel,而“窗口”用于Ext.window。让它们保持原样。