Javascript大写不起作用

时间:2012-05-21 19:42:14

标签: javascript jquery

我试图在用户填写后更改文本输入值,为大写字符串:

$('#University').blur(function(){
    if ( $(this).attr("value") != '') {
        var uni = $(this).val();
        uni.toUpperCase();
        alert(uni);
        $(this).attr("value", uni);
        };
});

<input type="text" name="Universidad" size="45" class="required" id="University">

如果我在场上写“leandro”,alert(uni)会抛出:“leandro”而不是“LEANDRO”。有什么想法吗?

我无法使用CSS,因为我必须通过此表单发送大写数据,而css只更改呈现而不是值

4 个答案:

答案 0 :(得分:17)

更改为:

uni = uni.toUpperCase();

字符串是不可变的,因此您需要将结果分配给变量,覆盖旧字符串。

答案 1 :(得分:6)

.toUpperCase()函数返回一个新字符串;它不会修改现有的字符串。

答案 2 :(得分:2)

您可以更好地重写您的功能。见下文,

$('#University').blur(function(){
    this.value = this.value.toUpperCase();
});

答案 3 :(得分:1)

toUpperCase()是一种方法。它返回一个你需要做的事情的值。

您在.toUpperCase()上调用了uni方法,但未将其分配到任何位置。

uni = uni.toUpperCase();

......应该有帮助。