Sascha: wieso geht das script im FF nicht

Hallo

dieses script funktioniert im IE hundert pro nur im FF nicht.
Kann mir einer sagen wieso das so ist?? hat der FF einen Bug??

<html>
<head>
<script type="text/javascript">
<!--
function TasteZahl(A)
{
   var testA = window.event.keyCode;   //gedrueckte Taste wird ermittelt (Unicode)
   var testA1 = String.fromCharCode(testA); // Unicode wird in Ascii umgewandelt
    //alert(testA1);

if (!-(isNaN(testA1)))
 {

//alert ('Sie haben die Zahl\n' + testA1 + '\neingegeben.');

}
 else
 {
   alert("Hier nur Zahlen eingeben!!!");
   document.eingeben.eingabe1.value = "";
   document.eingeben.eingabe1.focus(A);
 }
}

function TasteBuchstabe(B)
{
   var testB = window.event.keyCode;   //gedrueckte Taste wird ermittelt (Unicode)
   var testB1 = String.fromCharCode(testB); // Unicode wird in Ascii umgewandelt
    //alert(testB1);

if (isNaN(testB1))
 {

//alert ('Sie haben die Zahl\n' + testB1 + '\neingegeben.');

}
 else
 {
   alert("Hier nur Buchstaben eingeben!!!");
   document.eingeben.eingabe2.value = "";
   document.eingeben.eingabe2.focus(B);
 }
}

//-->
</script>

</head>

<body>

<form name="eingeben">
<table>
<tr>
 <td>nur Zahlen............<input type="TEXT" name="eingabe1" onkeyUp="TasteZahl(this.name)"></td>
</tr>
<tr>
 <td>nur Buchstaben............<input type="TEXT" name="eingabe2" onkeyUp="TasteBuchstabe(this.name)"></td>
</tr>
</table>
</form>
</body>
</html>

  1. Hallo Sascha,

    dieses script funktioniert im IE hundert pro nur im FF nicht.
    Kann mir einer sagen wieso das so ist?? hat der FF einen Bug??

    Du musst das Ereignis mit übergeben:

    onkeyup="TasteZahl(event, this.name)"

    und es in Deiner Funktion entgegennehmen (und auf Existenz prüfen).

      
    function TasteZahl(e,A){  
      if (!e)  
        e = window.event;  
        var testA = e.keyCode;  
        ...  
    
    

    Mit freundlichem Gruß
    Micha

    --
    LeagueEditor JavaScript :: simple Ligaverwaltung auf der Basis von JavaScript || JS Tetris :: für zwischendurch
  2. var testA = window.event.keyCode;

    Ich bin mir nicht sicher, das Event-Object ist ziemlich anders bei allen Browsern. Bist du sicher, dass das keyCode bei FF klappt?

    if (!-(isNaN(testA1)))

    Was soll diese Zeile bewirken?

    document.eingeben.eingabe1.focus(A);

    focus() erwartet keine Parameter

    var testB = window.event.keyCode;

    siehe oben

    //alert ('Sie haben die Zahl\n' + testB1 + '\neingegeben.');

    Kleiner Hinweis: Jetzt geht's doch um Buchstaben, nicht um Zahlen, oder?

    document.eingeben.eingabe2.focus(B);

    siehe oben

    mfg
    Genie