Javascript ExtJS-如何访问对象';s的性质和方法

Javascript ExtJS-如何访问对象';s的性质和方法,javascript,object,extjs,Javascript,Object,Extjs,这可能是一个简单的问题,但我很难弄清楚这一点,因为我对编程相当陌生。我正在构建一个Django web应用程序,并使用ExtJS3.4构建界面。我的界面的一部分有一个textfield和一个触发点击事件的按钮,我需要获取textfield的值才能传递到URL,但我不知道如何访问它。如果我将一个对象定义为一个变量,我知道如何实现这一点,但当我在这个特定实例中使用xtype时就不知道了。例如,我的textfield对象就是这样定义的: items: [{ xtype: 'textfield',

这可能是一个简单的问题,但我很难弄清楚这一点,因为我对编程相当陌生。我正在构建一个Django web应用程序,并使用ExtJS3.4构建界面。我的界面的一部分有一个textfield和一个触发点击事件的按钮,我需要获取textfield的值才能传递到URL,但我不知道如何访问它。如果我将一个对象定义为一个变量,我知道如何实现这一点,但当我在这个特定实例中使用xtype时就不知道了。例如,我的textfield对象就是这样定义的:

items: [{
  xtype: 'textfield',
  fieldLabel: 'Scenario Name',
  id: 'scn_name',
  allowBlank: false
}]
这就是我如何在按钮的事件处理程序中访问textfield的值:

var scnName = scn_name.getValue()
我得到的错误是

Uncaught TypeError: Object #<HTMLInputElement> has no method 'getValue'
UncaughtTypeError:对象#没有方法“getValue”
但是我知道textfield类有一个getValue()方法。我做错了什么?如何访问使用类型创建的对象的属性和方法

提前感谢,


Ro

您的
scn_名称
应该是对组件的引用,而不是对表示它的DOM元素的引用。您可以使用以下方法获取对ExtJS组件的引用:

var scn_name = Ext.getCmp('scn_name');
然后你可以做:

var scnName = scn_name.getValue();

有关更多详细信息,请参阅:

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


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

文本字段已呈现。我只是需要一种方法,一旦有什么东西被输入到字段中,就可以将文本输出。