изменить цвет границы текстового поля в ExtJS - PullRequest
1 голос
/ 02 ноября 2010

Я пытаюсь проверить значение текстового файла при вызове ajax-запроса. и я хочу, чтобы цвет границы текстового поля стал зеленым, если значение действительно.

Я попытался сделать это, позвонив 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 ]

3 голосов
/ 03 ноября 2010

Просто чтобы уточнить ответ, данный Тимдевом ...

Поскольку вы хотите стилизовать границу текстового поля, вам нужно сначала получить соответствующий элемент для стилизации, что в этом случае выполняется с помощью метода getEl . Это просто является основным элементом для этого компонента, поэтому вызов addClass для компонента делает то же самое.

например:

Ext.getCmp('loginid').getEl().addClass('valid-text')

или

Ext.getCmp('loginid').addClass('valid-text')

Оба в этом случае делают одно и то же, но не рассчитывайте на то, что 2-й работает точно так, как вы хотите во всех случаях.

С другой стороны, вы можете удалить этот класс, используя метод removeClass .

Ext.getCmp('loginid').getEl().removeClass('valid-text')
2 голосов
/ 02 ноября 2010

.style и .fieldClass являются значениями конфигурации.

Как только компонент будет создан, изменение его не будет иметь никакого эффекта. Другими словами, это не свойства компонента, это имена свойств в объекте конфигурации, который вы передаете конструктору компонента.

Вы хотите TextField.addClass () - это метод, который будет применять класс CSS к базовому элементу DOM компонента.

...