如何使文本字段中的所有内容均为大写字母/大写?
我想让我在文本字段中写的所有内容都是大写字母。当我写的时候,而不是失去焦点之后。
我如何使用 jQuery 来做到这一点?
I want to make everything I write in a textfield to be capital letters. As I write, not after losing focus.
How do I do this using jQuery?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我会为此使用CSS。
只需将
text-transform: uppercase
添加到您的样式中,然后在服务器端您可以将其转换为大写。I would use CSS for this.
Just add
text-transform: uppercase
to your styling, and then on the server side you can convert it to uppercase.使用
oninput='this.value=this.value.toUpperCase();
该事件仅适用于这种情况,在用户输入(按键)之后但在更新(显示值)之前触发,因此使用此键入的文本在转换时不会闪烁,并且值也是正确的(不像仅使用样式来更改显示而不改变真实数据)。
Use
oninput='this.value=this.value.toUpperCase();
This event is just for such cases, is fired after user input (pressing key) but before updating (displaying value), so with this typed text won't flicker while converting, and value is also correct (not like using only style to alter display without changing real data).
您可能需要结合使用这些方法。
使用文本转换样式仅以大写形式呈现类型,尽管该值很可能是小写的。
一旦字段更改或焦点丢失,javascript 只会将当前文本更改为大写,
您可以使用 gazler 的 jquery 或简单的内联 javascript,
例如 onblur='javascript:this.value=this.value.toUpperCase();'
这意味着文本值将显示为大写,并且当值更改/控件失去焦点时实际上变为大写。
华泰
山姆
You may need to use combination of these.
using the text-transform style only renders the type in upper-case, although the value may well be lower case.
The javascript will only change current text to upper once the field changes or focus is lost
you can use gazler's jquery or simply inline javascript
e.g. onblur='javascript:this.value=this.value.toUpperCase();'
This means that the text value will appear uppercase and actually be uppercased when the value changes / control loses focus.
HTH
Sam
为了构建@Gazler的答案,一个增强的解决方案可以更好地处理修饰键(假设您有混合大小写的占位符并且无法设置
text-transform: uppercase;
):To build on @Gazler's answer, an enhanced solution that better handles modifier keys ( assuming that you have a placeholder of mixed case and cannot set
text-transform: uppercase;
):