我想在渲染窗口后设置表单字段值。
当使用afterrender
监听器时,我还没有DOM元素,所以我做了一个“警告”,并且在调用afterrender
为什么呢?如何在屏幕上弹出窗体时获取窗体的DOM元素?
listeners: {
afterrender: function ( cmp ) {
alert('After Render');
},
render: function() {
alert('Render');
}
}
两个事件都会使用灰色窗口和警告消息冻结屏幕。只有当我点击“确定”时,我才能看到表格及其元素。
答案 0 :(得分:0)
没关系。我正在使用“错误”的方式来做到这一点。似乎jQuery无法完成这项工作。
listeners: {
afterrender: function ( cmp ) {
// This will work
alert( Ext.getCmp("displayColumn").getValue() );
// This will NOT work
alert( $("#displayColumn").val() );
}
}
检查元素我可以看到它的ID变为displayColumn-inputEl
,即使我已将其命名为
fieldLabel: 'My Form Field',
width: 330,
id: 'displayColumn',
name: 'displayColumn',
allowBlank : false,
value : 'default value'
所以$("#displayColumn")
永远找不到它。