ExtJS - 如何访问对象的属性和方法

ExtJS - How to access an object's properties and methods

本文关键字:对象 属性 方法 访问 何访问 ExtJS      更新时间:2023-09-26
这可能是

一个简单的问题,但我很难弄清楚这一点,因为我对编程很陌生。我正在构建一个 Django Web 应用程序并使用 ExtJS 3.4 来构建界面。我的界面的一部分有一个文本字段和按钮,用于触发点击事件,我需要获取文本字段的值以传递给 URL,但我不知道如何访问它。如果我将对象定义为变量,我知道如何做到这一点,但当我在这个特定实例中使用 xtype 时,我就不知道了。例如,这是我的文本字段对象的定义方式:

items: [{
  xtype: 'textfield',
  fieldLabel: 'Scenario Name',
  id: 'scn_name',
  allowBlank: false
}]

这就是我尝试在按钮的事件处理程序中访问文本字段值的方式:

var scnName = scn_name.getValue()

我得到的错误是

Uncaught TypeError: Object #<HTMLInputElement> has no method 'getValue'

但我知道文本字段类有一个 getValue() 方法。我做错了什么?如何访问使用类型创建的对象的属性和方法?

提前感谢,

你的scn_name应该引用组件,而不是表示它的 DOM 元素。您可以使用以下命令获取对 ExtJS 组件的引用:

var scn_name = Ext.getCmp('scn_name');

然后你可以做:

var scnName = scn_name.getValue();

有关更多详细信息,请参阅:http://www.sencha.com/learn/getting-elements-and-components/

您何时尝试访问文本字段?它是在立即执行的块内(Ext.onReady)还是在定义内部(Ext.define)?

根据调用代码的时间,组件可能尚未呈现。