javascript event.keyCode im IE?



  • tagchen..

    ich verzweifel gerade.
    habe folgende javascript funktion

    function test (event)
    {
    	if (event.keyCode==188 || event.keyCode==110)
    	{
    		var wertbe=steuer.betrag.value;
    		laenge=wertbe.length;
    		var wert='';
    		neu=laenge-1;
    		for (a=0; a<neu; a++)
    		{
    			wert=wert+wertbe[a];
    		}
    		steuer.betrag.value=wert+".";
    		mehrsteuer();
    	}
    	else
    	{
    		mehrsteuer();
    	}
    }
    

    diese kleine funktion überprüft, ob in einem input ein komma eingegeben wurde. wenn ja, soll dieses komma entfernt und ein punkt gesetzt werden, zur weiteren berechnung (aufruf der funktion mehrsteuer()).

    im mozilla klappt das komischerweise wunderbar nur im ie nicht.
    die IE Fehlermeldung ist: "wert ist undefined"
    kann mir einer sagen was ich falsch mache!?
    ich danke schonmal!
    thx a lot
    bart



  • Wo wird den neu definiert?

    Ich würde dir empfehlen statt dieser for-Schleife einfach slice() zu nehmen, vielleicht klappt's damit.

    wert = wertbe.slice(0,neu);
    


  • guten morgen...

    danke für die antwort. genau damit hat es geklappt, nur verstehe ich nicht warum das mit slice klappt und mit ner einfachen for schleife nicht.

    vielleicht hast du ja auch darauf ne antwort. wäre super.

    also denne, THX a lot
    bart



  • Freut mich erstmal, dass ich dir helfen konnte.

    Ne genaue Antwort zu deinem Problem habe ich nicht, aber ich kann mir vorstellen, dass der IEXplorer bei der Variable wertbe, als du sie als Array nutzt, Probleme macht. Außerdem müsste der Skript auf diesem Weg schneller sein. Deshalb probier for-Schleifen zu meiden, da wo es geht.

    MfG GNUnix


Anmelden zum Antworten