Ergebnis 1 bis 7 von 7
  1. #1
    Avatar von scraddy
    scraddy ist offline Mitglied
    registriert
    06-03-2006
    Ort
    Gevelsberg
    Beiträge
    31

    onkeypress event für firefox übergeben

    hallo comm,

    ich habe hier eine javascript-funktion, die einige sonderzeichen bei der formulareingabe nicht zulässt.

    im IE funktioniert das, aber natürlich fehlt die event-übergabe per parameter für den FF. ich habe da zwar einiges hier zu gelesen, leider nicht verstanden, wie ich das hier einbauen kann. würde mich über hilfe sehr freuen!

    Code:
    			function tastensperre()
    {
    if ((event.keyCode >= 0 && event.keyCode <= 44) || (event.keyCode == 47) || (event.keyCode >= 58 && event.keyCode <= 64) || (event.keyCode >= 91 && event.keyCode <= 96) || (event.keyCode >= 123 && event.keyCode <= 255)) 
    {
    event.returnValue = false; 
    } 
    else if ((event.keyCode >= 0 && event.keyCode <= 44) || (event.keyCode == 47) || (event.keyCode >= 58 && event.keyCode <= 64) || (event.keyCode >= 91 && event.keyCode <= 96) || (event.keyCode >= 123 && event.keyCode <= 255)) 
    {
    return false; 
    }
    }
    das ganze wird per onkeypress aufgerufen!

    danke! gruß, scraddy

  2. #2
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: onkeypress event für firefox übergeben

    So:
    PHP-Code:
    function tastensperre(e)
    {
    if(!
    ewindow.event;
    var 
    keyCode e.keyCode || e.which;
    ....


  3. #3
    Avatar von scraddy
    scraddy ist offline Mitglied
    registriert
    06-03-2006
    Ort
    Gevelsberg
    Beiträge
    31

    Question AW: onkeypress event für firefox übergeben

    ok, danke! das heißt, meine function sieht jetzt so aus:

    PHP-Code:
    function tastensperre(e)
    {
    if(!
    ewindow.event
    var 
    keyCode e.keyCode || e.which
    if ((
    event.keyCode >= && event.keyCode <= 44) || (event.keyCode == 47) || (event.keyCode >= 58 && event.keyCode <= 64) || (event.keyCode >= 91 && event.keyCode <= 96) || (event.keyCode >= 123 && event.keyCode <= 255)) 
    {
    event.returnValue false

    else if ((
    event.keyCode >= && event.keyCode <= 44) || (event.keyCode == 47) || (event.keyCode >= 58 && event.keyCode <= 64) || (event.keyCode >= 91 && event.keyCode <= 96) || (event.keyCode >= 123 && event.keyCode <= 255)) 
    {
    return 
    false
    }

    und wie sieht jetzt der aufruf der function aus? bestimmt nicht einfach nur

    PHP-Code:
    onkeypress="tastensperre();" 
    da hat laut firefox e keine eigenschaften.


  4. #4
    Avatar von Malleus
    Malleus ist offline Lounge-Member
    registriert
    05-08-2004
    Beiträge
    824

    AW: onkeypress event für firefox übergeben

    Versuch' mal folgendes:

    PHP-Code:
    onkeypress="tastensperre(event);" 
    Tschau

    Frank

  5. #5
    Avatar von scraddy
    scraddy ist offline Mitglied
    registriert
    06-03-2006
    Ort
    Gevelsberg
    Beiträge
    31

    AW: onkeypress event für firefox übergeben

    danke! habe jetzt den code folgendermaßen angepasst:

    PHP-Code:
    function tastensperre(ev)
    {
    if(!
    evev window.event
    var 
    keyCode ev.keyCode || ev.which;

    if ((
    ev.keyCode >= && ev.keyCode <= 44) || (ev.keyCode == 47) || (ev.keyCode >= 58 && ev.keyCode <= 64) || (ev.keyCode >= 91 && ev.keyCode <= 96) || (ev.keyCode >= 123 && ev.keyCode <= 255)) 
    {
    ev.returnValue false

    else if ((
    ev.keyCode >= && ev.keyCode <= 44) || (ev.keyCode == 47) || (ev.keyCode >= 58 && ev.keyCode <= 64) || (ev.keyCode >= 91 && ev.keyCode <= 96) || (ev.keyCode >= 123 && ev.keyCode <= 255)) 
    {
    return 
    false
    }
    }

    der aufruf:

    onkeypress="tastensperre(event);"  in einem TEXT-INPUT 
    das ganze funktioniert im IE immer noch perfekt, der FF zeigt sich davon überhaupt beeindruckt und lässt trotzdem alle zeichen zu, meldet aber auch keinen javascript fehler! noch ideen?

  6. #6
    Avatar von scraddy
    scraddy ist offline Mitglied
    registriert
    06-03-2006
    Ort
    Gevelsberg
    Beiträge
    31

    AW: onkeypress event für firefox übergeben

    also ich hab das ganze hierher Quelle. wenn ich das also direkt in onkeypress packe, klappt das auch zusätzlich mit dieser variablen, die speichert, ob es sich um netscape/mozilla handelt.

    wie kann man das denn in eine funktion packen? und das event-objekt übergeben?! irgenwie klappt es nicht, wenn ich event als parameter angebe.

    hier noch der code von dem beispiel:

    PHP-Code:
    <script>

    //verify for netscape/mozilla

    var isNS4 = (navigator.appName=="Netscape")?1:0;

    </script>

    <form onSubmit="return false;">

    This field will not accept special characters: (like !@#$%^&* etc)<br>

    <textarea rows=2 cols=20 name=comments onKeypress="if(!isNS4){if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97)) event.returnValue = false;}else{if ((event.which > 32 && event.which < 48) || (event.which > 57 && event.which < 65) || (event.which > 90 && event.which < 97)) return false;}"></textarea> 

  7. #7
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: onkeypress event für firefox übergeben

    if(!ev) ev = window.event;
    var keyCode = ev.keyCode || ev.which;

    Hier hast du Browserübergreifend den keyCode und das ev Objekt brauchst du nicht mehr.

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 10-10-2007, 12:05
  2. Events unter Firefox
    Von risingtob im Forum JavaScript
    Antworten: 6
    Letzter Beitrag: 05-04-2006, 17:37
  3. onFocus & Firefox
    Von dogas im Forum JavaScript
    Antworten: 11
    Letzter Beitrag: 23-06-2005, 14:47
  4. MouseOver Event Problem im Firefox
    Von BlackHawk im Forum JavaScript
    Antworten: 8
    Letzter Beitrag: 01-04-2005, 12:10
  5. Das Event onKeyPress
    Von Byte_BuStEr im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 16-03-2002, 18:27

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •