我试图在用户填写后更改文本输入值,为大写字符串:
$('#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只更改呈现而不是值
答案 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();
......应该有帮助。