Tastaturcode abfangen bei NETSCAPE
Matthias
- javascript
Hallole,
folgendes Problem habe ich. Ich muss in einer HTML-Seite prüfen, was für eine Taste gedrückt wurde. Wenn Enter gedrückt wird, muss ich den SUBMIT boycotieren, da das absenden nur mit der Maus möglich sein soll.
Das funktioniert auch mit dem Internet-Explorer einwandfrei, und auch unter Netscape funktioniert es, solange man keine Eingabefelder in einem <FORM> - Abschnitt einsetzt.
Das Beispiel ist unten mal aufgeführt. Klickt man ausserhalb des FORM wird unter Netscape jeder Tastendruck gemeldet in der Statuszeile, steht der Cursor aber in dem Eingabefeld, passiert dies nicht mehr.
Bei IE klappt es einwandfrei.
Hat jemand eine Idee, wie man es auch in dem Eingabefeld zum agieren bringen kann? Ein onkeydown in jedem Eingabefeld wäre wohl möglich, jedoch sehr umständlich, da ich teilweise bis zu 30 Eingabefelder in einer Seite habe.
Gruß
Matthias Horstmann
=====================================================================
<html>
<head>
<title>Test</title>
<script language="JavaScript1.2">
var Netscape = new Boolean();
if(navigator.appName == "Netscape") Netscape = true;
function TasteGedrueckt(Ereignis){
if(Netscape)
{ window.status = "Test1: Taste mit Dezimalwert " + Ereignis.which + " gedrueckt"; return true; }
}
document.onkeydown = TasteGedrueckt;
</script>
<!-- JScript-Bereiche fuer MS Internet Explorer -->
<script for=document event="onkeydown()" language="JScript">
{ window.status = "Test1: Taste mit Dezimalwert " + window.event.keyCode + " gedrueckt"; return true; }
</script>
</head>
<body>
Dieses ist eine Testseite 1 für tastendrücke!!
<form>
Eingabe:
<input type=text name="text1">
</form>
</body>
Hallole,
hi
wenn ich dich richtig verstanden haben, dann möchtest du, dass der submit-button nur ausgeführt wird, wenn der benutzer darauf klickt (und nicht bei "enter")
... versuch doch einfach einen "normalen" button zu machen (die reagieren nur auf klicks) und lass den button dann onclick das formular absenden (onclick="FormName.submit()" ... ist glaube ich der befehl)
... sollte deine probleme mit dem abfangen der tastatur-events lösen
Gruß
Matthias Horstmann
cu
ulli
wenn ich dich richtig verstanden haben, dann möchtest du, dass der submit-button nur ausgeführt wird, wenn der benutzer darauf klickt (und nicht bei "enter")
===================================================================
Schön wäre es wenn es so einfach wäre. Es sind teilweise bis zu 5 Buttons auf einer WWW-Seite, die dann auf einem ERP-System bestimmte Aktionen anstossen.
Die Namen dieser Buttons sind so gewählt, das das ERP-System sie zwar versteht, aber Sie unter der Form in Javascript nicht ansprechbar sind.
... versuch doch einfach einen "normalen" button zu machen (die reagieren nur auf klicks) und lass den button dann onclick das formular absenden (onclick="FormName.submit()" ... ist glaube ich der befehl)
===================================================================
Das ändert aber nichts an der Tatsache, das wenn der Benutzer eine Eingabe abschliesst und ENTER drückt, alle seine Eingaben gelöscht werden, da der SUBMIT an das ERP-System durchgeführt wird. Das ERP-System weiß nicht was der Benutzer machen wollte und bringt die HTML-Seite wieder neu. :-((
Gruß
Matthias Horstmann
cu
ulli