Formular-Button mit Taste auslösen
mangodrone
- javascript
0 Beat
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
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
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
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>