Müscha: Tastatureingaben wie F5 abfangen und verhindern

Beitrag lesen

Hallo Nicolas!

Wozu kann man Keys blocken

wer jetzt hier meckert hat sicherlich keine Vorstellungskraft warum man z.B. die F5 Taste blockieren möchte:

ich habe eine Seite mit einem Objekt und kann über ein Formular neue Eigenschaften zu dem Objekt hinzufügen und in eine Datenbank speichern. Schicke ich das Formular ab, dann rufe ich die selbe Seite auf (über <Form ... ) und speichere die Daten ab und zeigt dann direkt wieder alle Eigenschaften vom Objekt an (wie bei dem ersten Aufruf der Seite).

So: nun drückt der Anwender F5 ... der Browser sagt: möchten Sie nochmal schicken? der Anwender drückt auf [wiederholen] ... schubs ... habe ich die neue Eigenschaft doppelt in der Datenbank ---> sehr unpraktisch!

--> meine Lösung für diesen Fall: nach dem Schreiben in eine Datenbank immer ein Redirekt zu einem Seitenlink, die nur die Daten anzeigt, auch wenn dieser Link mehrfach aufgerufen wird. Somit kann man x-mal F5 drücken ohne doppelt abspeichern.

Tastatureingaben abfangen

onkeypress
--------------------------------------------------------------

andere Möglichkeit um Tastatureingaben abzufragen:

document.onkeypress = meinefunktion

schönes Beispiel wie man das Verwenden kann findet man bei google:

http://labs.google.com/keys/

(da kannste dir auch in die keys.js von der Seite reinschauen, wie Google das gemacht hat...)

ich denke man kann auch den Keypress-Event abbrechen, sodaß einige Tasten "gesperrt" sind ...

leider kann man scheinbar nicht alle Tasten canceln

onkeydown
--------------------------------------------------------------

besser noch anschauen von: document.onkeydown

http://msdn.microsoft.com/workshop/author/dhtml/reference/events/onkeydown.asp

__8<____8<____8<____8<____8<____8<____8<____8<__

As of Microsoft® Internet Explorer 4.0, the onkeydown event fires for the following keys:

Editing: DELETE, INSERT
Function: F1 - F12
Letters: A - Z (uppercase and lowercase)
Navigation: HOME, END, LEFT ARROW, RIGHT ARROW, UP ARROW, DOWN ARROW
Numerals: 0 - 9
Symbols: ! @ # $ % ^ & * ( ) _ - + = < [ ] { } , . / ? \ | ' ` " ~
System: ESC, SPACEBAR, SHIFT, TAB

__8<____8<____8<____8<____8<____8<____8<____8<__

As of Internet Explorer 5, this event can be canceled for the following keys and key combinations by specifying event.returnValue=false:

You can cancel all keys that fire the onkeydown event in HTML Applications, including most accelerator keys, such as ALT+F4.

__8<____8<____8<____8<____8<____8<____8<____8<__

Fazit

Anstatt draufloszujammern und den Fragenden mit Beschimpfungen zu bombardieren, sollten diese SelfForumMitnutzer besser Ihre Zeit dafür verwenden konstruktive Lösungen zu finden ... ansonsten ist alles verlorene Zeit ... möchtet Ihr auch bei jeder kleinen Frage direkt beschimpft werden? ... oder sollen die Beschimpfungen das eigene Unwissen übertönen?

//Müscha