从javascript Ext.form.FormPanel获取值并设置为变量
我对以下javascript有问题:从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',
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。让它们保持原样。