ExtJS无法读取属性'添加'未定义的

时间:2017-08-29 05:03:37

标签: javascript extjs

我有一个即时工作的ExtJS / PHP应用程序,我一直遇到错误

Uncaught TypeError: Cannot read property 'add' of undefined

我正在使用的行如下;

parentPanel = Ext.getCmp('<?php echo $thename; ?>_<?php echo $formDetails ?>');
parentPanel.add(theGridPanel);
parentPanel.doLayout();

我不知道到底发生了什么。

任何帮助都很棒

2 个答案:

答案 0 :(得分:3)

Ext.getCmp()用于通过ID查找DOM中的元素。

因此,请确保将正确的id传递给Ext.getCmp()。

如果您需要,请查看文档here

修改

扩展我的答案,因为我同意@ scebotari66在评论中提到的观点。

Ext.getCmp()仅用于查找extjs组件,而不是DOM中的任何html元素。

这意味着Ext.getCmp()不等于到document.getElementById()

我提到的'在DOM中找到一个元素'只是为了更容易理解命令getCmp()执行的任务,而实际上它从Ext.ComponentManager中获取具有给定ID的组件,而不是从DOM中获取

答案 1 :(得分:2)

JavaScript尝试在.add()上调用undefined。更确切地说。这一行:

Ext.getCmp('<?php echo $thename; ?>_<?php echo $formDetails ?>');

返回undefined

因此请确保更正您的查询。