更改ExtJS中文本字段的边框颜色

时间:2010-11-02 19:54:01

标签: extjs textfield

我正在尝试验证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>

我不明白为什么不参加这门课。

有人可以帮忙。

提前致谢!

2 个答案:

答案 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元素的方法。