我有一个包含以下项目的面板:
{
xtype: 'numberfield',
id: 'articleFastSearch',
listeners: {
scope: this,
specialkey: function(field, e) {
if (e.getKey() == Ext.EventObject.ENTER) {
var val = this.rawValue;
// Do stuff with val
}
}
}
},
{
id: 'articleFastSearchBtn',
text: 'Open article',
scope: this,
handler: function(btn) {
console.log(Ext.get("articleFastSearch"));
var val = Ext.get("articleFastSearch").getValue();
console.log(val);
// Do stuff with val
}
}
numberfield 上的侦听器工作正常,但我无法从按钮处理程序访问 numberfield 值。我尝试命名数字字段并使用this.articleFastSearch.getValue()
,但它没有用。我认为范围可能是错误的?
然后我求助于给 numberfield 一个 id 并尝试通过 dom 访问它,如上所示。这给出了一个奇怪的结果,因为返回的构造函数实际上包含一个HTMLTableElement
而不是一个数字字段。我在属性中找不到值,所以我很困惑......页面上没有其他具有相同 ID 的元素。有任何想法吗?
理想情况下,如果可能的话,我宁愿只通过this
变量访问值,但我会满足于任何可行的解决方案!