动态改变文本字段的文本颜色

Posted

技术标签:

【中文标题】动态改变文本字段的文本颜色【英文标题】:Dynamically changing text color of text field 【发布时间】:2013-01-23 19:16:59 【问题描述】:

团队,

我面临一个问题,我无法更改 xtype:textfield 的文本颜色。我正在使用 EXTJS 3.4

要求最初以灰色显示默认文本,例如“在此处填写您的详细信息”。

但是当用户关注该字段时,我将删除默认文本,以便用户可以输入适当的值。

当用户输入一些值时,我想将文本的颜色从灰色更改为黑色。有什么方法可以用 ExtJS 3.4 做到这一点

【问题讨论】:

【参考方案1】:

您应该可以使用 emptyText 配置。 http://docs.sencha.com/ext-js/3-4/#!/api/Ext.form.TextField-cfg-emptyText。它最初显示为灰色,当用户输入一个值时它会清除并且输入的文本是黑色的。

new Ext.form.TextField(renderTo: Ext.getBody(), emptyText: 'Fill Details Here')

【讨论】:

我相信 emptyText 默认显示为灰色。请注意:如果字段有名称,则 emptyText 的值将与表单一起提交。 @Derek 是的,这就是链接文档中所说的。在 4 中,这看起来可以通过 form basic 上的 submitEmptyText 配置来处理。【参考方案2】:

为什么不能用

new Ext.form.TextField(renderTo: Ext.getBody(), id:'textId', emptyText: 'Fill Details Here')

并在提交时检查是否为空并清空两者并进行验证。

Ext.Button(
text:'title',
handler:function(btn,optn)
var value = Ext.getCmp('textId').getValue(); 

// 这里 .getValue() 删除未定义和空文本并给出为 ''

if(value === '')
   Ext.msg.alert('Validation', 'Please fill all the mandatory fields');


);

【讨论】:

以上是关于动态改变文本字段的文本颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Cordova iOS 项目中更改文本字段光标颜色

在网格面板中动态更改 extjs 4 网格文本框背景颜色

更改静态文本 C++ 的颜色

TextView设置动态改变颜色

更改自定义文本字段背景颜色和文本颜色IOS Swift

如何使用css改变某个元素的文本颜色