jQuery: ändern der input-Wert bei Tastendruck

Immer, wenn ein Punkt '.' eingegeben wird, in meinem Eingang (Typ=Zahl) Feld, möchte ich es ersetzt durch ein Komma ','.

$(box).find('input[type=number]').keypress(function(evt){
        if(evt.which==46){
            $(this).val($(this).val()+',');
            evt.preventDefault();
        }
    });

Das Ereignis wird auch ausgelöst, sondern das Feld wird völlig leer. Was ist falsch?

BEARBEITEN

Der Grund, warum ich dies mache ist, dass Chrome (neueste version), im Gegensatz zu den HTML5-Empfehlung, Verwendung von Komma-und Ausschuss-Punkt input type=Zahl. Ich bin derzeit nur für die Entwicklung für Chrome Ursache kann ich nicht testen, meine app woanders für den moment. Jeder Kommentar auf dieser (abnorme ?) situation würde geschätzt.

Es wird empfohlen, zu verwenden keyup Veranstaltung statt.
hat ein alert($(this).val()) zeigen alles
Eingang type="number" wird nicht akzeptieren, Komma ,. Sie müssen möglicherweise ändern Sie die Eingabe type=text
eigentlich ist das, was das W3C sagt zu Typ=Zahl, aber Chrome im Gegenteil akzeptiert nur Kommas und löschen von Punkten und alles andere kommt danach. Das ist, warum ich wollte, dies zu tun in den ersten Platz.
keyup nicht sogar das Ereignis ausgelöst.

InformationsquelleAutor pH Cito | 2012-11-23

Schreibe einen Kommentar