items: [{
rowspan:3,
columnWidth: 0.5,
margin: '10 10 10 10',
xtype: 'fieldset',
title:'SMS',
enableKeyEvents: true,
items: [{
xtype:'textarea',
width: 200,
height: 160,
id: 'content',
value: '',
enableKeyEvents: true,
listeners: {
keyup: function(form, e) {
var cnt2;
var len2;
var han2;
var varCont;
len2 = 0;
han2 = 0;
varCont = this.value;
for( cnt2 = 0 ; cnt2 < varCont.length; cnt2++ ){
if( varCont.charCodeAt(cnt2) > 255 ){
len2 += 2;
han2 += 2;
}else{
len2 ++;
}
}
Ext.getCmp('bytecnt').setValue(len2); //here is problem
}//keyup
}//listener
},{
xtype:'text',
html:"<input id='bytecnt' name='bytecnt' width='20' value='1'>",
width: 200,
height:20
}]
答案 0 :(得分:0)
Ext.getCmp()用于按ID查找组件。由于输入字段不是组件(而是组件的HTML),而只是一个HTML元素,因此可以使用Ext.get()来检索它。但请记住,由于您使用Ext.get()检索的输入字段不是组件,因此setValue()也不起作用。
但是,为什么使用带有文本输入字段的HTML配置的xtype:text?为什么不使用xtype:'textfield'并允许Ext JS为您管理这些东西?您仍然可以在其上配置您需要的所有其他内容,但随后可以作为组件与其进行交互。