将文本字段转换为大写
Convert textfield to uppercase
我正在尝试强制文本字段将您输入的任何内容转换为大写。这是我一直在使用的行
style: 'text-transform: uppercase'
它正在处理我的 90% 的文本字段,但是对于一个特定的文本字段,它将不起作用。它会将您键入的任何内容转换为文本字段,但是当您跳出文本字段时,由于某种原因,它会恢复为小写。
以下是文本字段的完整代码:
{
id: 'conditionValue',
header: "Condition Value",
dataIndex: 'condValue',
width: 100,
editor: newExt.form.TextField({
style: 'text-transform: uppercase'
}
})
}
你可以在不需要jQuery的情况下做到这一点,而是直接在Ext JS中:
{
id: 'conditionValue',
header: "Condition Value",
dataIndex: 'condValue',
width: 100,
editor: newExt.form.TextField({
listeners:{
change:function(field){
field.setValue(field.getValue().toUpperCase());
}
}
})
}
也就是说,在 ExtJS 中执行此操作的最佳方法是使用 fieldStyle
,例如在您的 texfield 上:
fieldStyle: 'text-transform:uppercase'
而不是您当前设置style
的位置
看到这个小提琴
尝试设置文本字段的 fieldStyle(从 ExtJS 4.0 开始可用),然后处理其change
事件。
id: 'conditionValue',
header: "Condition Value",
dataIndex: 'condValue',
width: 100,
editor: newExt.form.TextField({
fieldStyle: 'text-transform:uppercase;',
listeners: {
change: function(field, newValue, oldValue) {
field.setValue(newValue.toUpperCase());
}
}
}
原因是,一旦你把注意力从文本字段之外,字段本身就会被隐藏,其内容就会被复制到表格单元格中(有点,实际上它通过记录和列渲染器)。将相同的 CSS 样式添加到列中,这应该可以做到。如果这还不够,请自定义列renderer
。
相关文章:
- 将纯文本URL转换为可单击链接
- 将格式化的纯文本转换为HTML
- 使用jquery将输入字段转换为文本
- 手柄'img'单击事件并插入'alt'使用jQuery将属性转换为文本框
- 转换<a>使用jQuery将文本字符串转换为dom元素
- JavaScript:将字符串数组转换为文本区域
- 有没有一种简单的方法可以将整数转换为等效文本.即:1变为1
- 使用PageMod将所有文本框转换为所见即所得HTML编辑器
- 为什么从JSON文本到类型的转换不包括函数
- 使用带有文本转换的jquery获取文本
- 将数量文本框转换为下拉列表
- 如何在节点.js上将文本转换为 Base58
- 如何使用RegEx转换文本中的表情符号
- Javascript正则表达式替换以转换文本
- 在 html 页面上转换文本的最佳方法
- 翻译 API 以仅转换文本部分(而不是 HTML)
- “转换”文本框到带有滑动动画的文本区域
- 转换文本区域中的输入字段
- Jqgrid转换文本
- jQuery AJAX - JSONP转换文本到JSON