我创建了一个面板并放入了窗口。当我在Window中单击OK按钮时,我可以获得面板的值。
var FormPanel = Ext.create('Ext.form.Panel', {
id: 'formpanel',
frame: true,
renderTo: Ext.getBody(),
xtype: 'radiogroup',
fieldLabel: 'Show',
layout: 'vbox',
items:
{
xtype: 'radiogroup',
layout: 'hbox',
items: [{
xtype: 'radiofield',
fieldLabel: 'PAN Number*',
margin: "20 0 0 0",
name: 'rb',
inputValue: '1',
checked: false,
listeners: {
change: function(cb, nv, ov) {
if (nv) {
Ext.getCmp('AttachData').disable();
Ext.getCmp('PanData').enable();
}
}
}
}, {
xtype: 'splitter'
}, {
xtype: 'textfield',
emptyText: 'Enter Owner\'s PAN...',
margin: "20 0 0 0",
id: 'PanData',
disabled: false
}, ]
},
});
var winPanDetails = Ext.create('Ext.window.Window', {
height: 250,
width: 400,
id:'winPanDetails',
layout: 'fit',
modal: true,
closable: true,
title: 'Document Attach',
items: [FormPanel],
constrain: true,
renderTo: Ext.getBody(),
buttons: [{
width: 50,
text: 'OK',
id: 'btnOk',
handler: function() {
if (Ext.getCmp('PanData').value == "") {
Ext.Msg.alert("Tax Benefit Declaration", "Please Pan Number");
return;
} else {
this.up('window').close();
}
}
}]
}).show();
我需要将此窗口插入我的主面板......
Ext.create('Ext.form.Panel', {
renderTo: 'container',
title: 'Main Panel',
defaultType: 'textfield',
id: 'mainPanel',
bodyPadding: 10,
width: 780,
defaults: {
labelWidth: 100
},
items: [
{
//Some more fields
button:[{
width: 50,
text: 'OK',
id: 'btnOk',
handler: function() {
//My Window
}
}]
},
但插入后我无法从主面板中获取窗口的值。我尝试了很多逻辑,请帮我解释逻辑
if (Ext.getCmp('PanData').value == "") {
Ext.Msg.alert("Tax Benefit Declaration", "Please enter pan number");
return;
}
我无法获得Ext.getCmp('PanData')的值。窗口外的值
答案 0 :(得分:0)
为什么不使用记录加载到表单中?提交表格后,您再次从商店获得记录?您不应该使用输入来获取值,而是迁移并使用存储在存储中的记录..