Archivlink: javarea.de Forum > JavaScript > Formular per Tastenkürzel absenden
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Formular per Tastenkürzel absenden

Pages: [1]

geschrieben von Matneu am 09.02.2006 - 21:26
Moin,

da ich häufig mit Eclipse arbeite und es in meinen Fingern steckt, dass ich Änderungen mit Strg+s speichern kann möchte ich dies auch in meinen Web-Applikationen einabuen.
Geht natürlich nur mit Javascript. Meine Versuche so far:
HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
<script type="text/javascript">
	/* <![CDATA[ */
		function keyPress() {
			if(window.event.keyCode == 83) {
				document.activeElement.parentElement.parentElement.submit();
			}
		}
	/* ]]> */
</script>

Das ganze wird im Body mit <body onkeypress="keyPress()"> geladen.
Funktioniert prinzipiell auch ganz gut (wenn ich das submit durch ein alert ersetze erscheint das Fenster) mit dem einzigen Problem, dass mein Browser (Opera) die Seite (da Strg+s dem Menüpunkt "Speichern..." entspricht) speichern möchte. Ich hatte gehofft, dass Opera zuerst das Formular absendet und dadurch das Speichern vergisst. Leider ist dem nicht so. Gibt es hierfür irgendwelche Tricks ausser auf Tastenkombis zurückzugreifen, die die Browser (wird unter Opera und FF genutzt) noch nicht vergeben haben?

So far...
Matthias

geschrieben von René am 09.02.2006 - 21:33
Zitat
 Original geschrieben von Matneu am 09.02.2006 - 21:26

Das ganze wird im Body mit <body onkeypress="keyPress()"> geladen.

onkeypress in XHTML-Seiten ist laut w3c meines erachtens im <body ... > nicht erlaubt.

http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
<!ELEMENT body %Block;>
<!ATTLIST body
  %attrs;
  onload          %Script;   #IMPLIED
  onunload        %Script;   #IMPLIED
  >



geschrieben von Matneu am 09.02.2006 - 22:42
Zitat
 Original geschrieben von René am 09.02.2006 - 21:33
onkeypress in XHTML-Seiten ist laut w3c meines erachtens im <body ... > nicht erlaubt.

Habe ich mir auch schon gedacht. Laut dem Validator, der ja gegen die DTD prüft ist die Seite "Tentatively Valid XHTML 1.1", was auch immer das nun heissen mag.

So far...
Matthias


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.