2012-10-01 5 views
8

Ich habe einen Fehler (seit letzter Woche) in Chrome (Version 22.0.1229.79) mit einigen Javascript, das versucht, einen Feldwert in Großbuchstaben zu konvertieren. Es scheint mit CSS (Text-Transformation: Großbuchstaben) zu widersprüchlich zu sein, die den Feldwert gleichzeitig zur Großschreibung aussehen lassen.
Beim Ausblenden des Feldes versucht der Ereignishandler onChange, den Feldwert in Großbuchstaben zu ändern. Das Ergebnis ist jedoch, dass das Feld leer wird. Wenn Sie jedoch versuchen, das Feld erneut einzugeben, wird der vorherige Text erneut angezeigt.Text-Transformation: Fehler in Großbuchstaben in Google Chrome v.22

Hat noch jemand das Gleiche gesehen? Ich denke, es muss an Google berichtet werden.

Hier ist ein Testfall für die es ... 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);"/> 
+2

Nizza Fang! vielleicht, wenn Sie es melden, könnten Sie etwas Geld von Google bekommen: http://blog.chromium.org/2010/01/encouraging-more-chromium-security.html –

+0

@perrococo Wo ist das Sicherheitsproblem hier? Sie sollten das OP auf die Fehlermeldeseite verweisen: http://new.crbug.com/ –

+0

komisch; Der Wert kommt zurück, wenn Sie mit der Eingabe in das Feld fortfahren, nachdem es "gelöscht" wurde. –

Antwort

3

Für alle, die tatsächlich ein Problem mit dieser hat, die ich gefunden habe, dass Sie durch das Zurücksetzen des Wertes auf leere eine Abhilfe tun und dann zurück zum ursprünglichen Wert, aber in der Oberschale.

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

Siehe die aktualisierte Geige: http://jsfiddle.net/JXA8K/2/

+0

Verschwendung von Ressourcen, binden Sie einfach Ihre CSS-Regel an

Verwandte Themen