mangodrone: Formular-Button mit Taste auslösen

Guten Abend

Folgendes Grundproblem: Ich habe ein PHP-basiertes Kassasystem (Point-of-Sale-System) mit einem riesiges Formular "gebastelt". Nun möchte ich zum Beispiel im Browser die Positionen rasch quittieren in dem ich die Taste "q" (81) drücke. Das Quittieren funktioniert momentan über einen submit-button. Dieser sollte nun ausgelöst werden, wenn ich nur auf der Tastatur das "q" drücke.

Leider bin ich im Internet nicht so recht fündig geworden und JavaScript ist nicht meine Stärke. Am ehesten kommt dieses "event" (http://de.selfhtml.org/javascript/objekte/event.htm#allgemeines) in Frage, doch fehlt mir jegliche Idee, wie ich dies für oben genannten Zweck benutzen kann.

Um jegliche Tipps bin ich dankbar.
mangodrone

  1. Um jegliche Tipps bin ich dankbar.

    sofern der Cursor nicht gerade in einer Textarea steckt, reicht im FF ein [Enter].
    Des weiteren gibt es das accesskey Attribut.

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
    1. sofern der Cursor nicht gerade in einer Textarea steckt, reicht im FF ein [Enter].

      Das Formular hat diverse submit-buttons mit verschiedenen values und names. Die Seite wird dann beim Auslösen eines Buttons immer neu aufgerufen und mit den Werten dementsprechend im Kopf prozessiert. Ich möchte im Endeffekt natürlich nicht nur den Quittierbutton per "q" auslösen, sondern zum Beispiel auch mit einem Tastendruck auf "s" sofort ins Stornierfeld (Textfeld) gelangen, und so weiter.

      Des weiteren gibt es das accesskey Attribut.

      AccessKey ist meines Wissens browserbedingt und ich möchte die Tasten frei vergeben.

      Vielen Dank und Gruss
      mangodrone

      1. Habe es geschafft mir ein Script zusammenzubauen, welches meinen Anforderungen genügt:

        <head>
        <script type="text/javascript">
        function shortcut(key_event) {
        if (!key_event)
        {
        key_event = window.event;
        }

        // Für Firefox; 81 = Taste "q"
        if (key_event.which == 81)
        {
        document.getElementById('quit').click();
        }
        // Für IE
        else if (key_event.keyCode == 81)
        {
        document.getElementById('quit').click();
        }
        }

        document.onkeydown = shortcut;
        </script>
        </head>

        <body>
        <form action="[...]" name="form" method="POST">
        <input type="submit" name="quit" value="quit" id="quit">
        </form>
        </body>