如何使文本字段中的所有内容都是大写字母/大写字母?

时间:2010-10-04 19:36:58

标签: javascript jquery html capitalization

我想把我在文本字段中写的所有内容都写成大写字母。在我写作时,不是在失去焦点之后。

如何使用jQuery执行此操作?

5 个答案:

答案 0 :(得分:66)

我会使用CSS。

只需将text-transform: uppercase添加到样式中,然后在服务器端将其转换为大写。

input {
  text-transform: uppercase;
}

答案 1 :(得分:14)

$('input[type=text]').keyup(function() {
    $(this).val($(this).val().toUpperCase());
});

答案 2 :(得分:5)

使用
oninput='this.value=this.value.toUpperCase();
此事件仅适用于此类情况,在用户输入(按键)之后但在更新(显示值)之前触发,因此这种类型的文本在转换时不会闪烁,并且值也是正确的(不像仅使用样式来改变显示而不改变实际数据。)

答案 3 :(得分:1)

您可能需要使用这些组合。

使用文本转换样式只会以大写形式呈现类型,尽管值可能是小写的。

一旦字段更改或焦点丢失,javascript只会将当前文本更改为上层

你可以使用gazler的jquery或简单地内联javascript

e.g。的onblur = '的javascript:THIS.VALUE = this.value.toUpperCase();'

这意味着当值更改/控制失去焦点时,文本值将显示为大写且实际上是大写的。

HTH 萨姆

答案 4 :(得分:0)

构建@ Gazler的答案,一个更好的解决方案,更好地处理修饰键(假设你有一个混合大小写的占位符,不能设置text-transform: uppercase;):

$('.search-input input[type=text]').keyup(function() {
    var v = $(this).val();
    var u = v.toUpperCase();
    if( v != u ) $(this).val( u );
})