text-transform:Google Chrome v.22中的大写错误

时间:2012-10-01 09:22:12

标签: javascript css google-chrome

我在Chrome(版本22.0.1229.79)中遇到了一个错误(自上周以来),其中一些javascript试图将字段值转换为大写。它似乎与CSS(文本转换:大写)冲突,使得字段值同时显示为大写。
当跳出字段时,onChange事件处理程序将尝试将字段值更改为大写,但结果是该字段变为空。但是,如果您再次尝试在该字段中输入内容,则会重新显示之前的文本。

还有其他人见过同样的事吗?我认为它需要向Google报告。

这是一个测试用例... http://jsfiddle.net/fhBx2/2/

<script>
function upperKey(obj) 
{
    var val = obj.value;
    if(val != null)
    {
        obj.value = val.toUpperCase();
    }    
}
</script>

<input type="text" style="text-transform:uppercase;" 
onchange="upperKey(this);"/>

1 个答案:

答案 0 :(得分:3)

对于实际上遇到此问题的任何人,我发现您可以通过将值重置为空白然后重新设置为原始值来进行解决方法,但是大写。

$(function() {
    $('input').change(function(e) {
        var val = $(this).val().toUpperCase();
        $(this).val('').val(val);
    });
});​

请参阅更新的小提琴:http://jsfiddle.net/JXA8K/2/