我正在尝试验证ajax请求调用上的textfiled值。 如果值有效,我想将文本字段边框的颜色变为绿色。
我尝试拨打Ext.getCmp('loginid').style = 'valid-text';
我也尝试了Ext.getCmp('loginid').filedClass = 'valid-text';
其中valid-text包含代码:
<style>
.valid-text{
background-color:#bbb;
border-color:#008B00;
}
</style>
我不明白为什么不参加这门课。
有人可以帮忙。
提前致谢!
答案 0 :(得分:3)
只是为了澄清timdev给出的答案......
由于您要为文本字段的边框设置样式,因此您需要首先获取相应的样式元素,在这种情况下,使用 getEl 方法。这恰好是该组件的主要元素,因此在组件上调用 addClass 会发生同样的事情。
例如:
Ext.getCmp('loginid').getEl().addClass('valid-text')
或
Ext.getCmp('loginid').addClass('valid-text')
在这种情况下,两者都做同样的事情,但不要指望第二个在所有情况下完全按照你想要的方式工作。
另一方面,您可以使用 removeClass 方法删除此类。
Ext.getCmp('loginid').getEl().removeClass('valid-text')
答案 1 :(得分:2)
.style 和 .fieldClass 是配置值。
创建组件后,更改它们将无效。换句话说,它们不是组件的属性,它们是传递给组件构造函数的配置对象中的属性名称。
你想要 TextField.addClass() - 这是一个将CSS类应用于组件底层DOM元素的方法。