onkeypress in Formular funktioniert nicht
Bernd Richter
- javascript
0 MB0 Bernd Richter0 plan_B
0 ritschmanhard
Hallo,
beim drücken von Return soll ein Alert kommen - kommt aber nicht.
Habe es bereits mit mehreren Browsern getestet...
<html><head>
<script language="text/javascript">
<!--
var hotkey=13
if (document.layers)
document.captureEvents(Event.KEYPRESS)
function enter(e)
{
if (document.layers){
if (e.which==hotkey)
alert('ok');
}
else
if (document.all){
if (event.keyCode==hotkey)
alert('ok');
}
}
//-->
</script>
</head>
<body>
<textarea onkeypress="enter()"></textarea>
</body>
</html>
du fragst die variable e ab, übergibst diese aber nicht "enter()".
du fragst die variable e ab, übergibst diese aber nicht "enter()".
Auch mit <textarea onkeypress="enter(event)"></textarea> geht es nicht.
Hallo,
Auch mit <textarea onkeypress="enter(event)"></textarea> geht es nicht.
vielleicht suchst du nach http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onkeyup@title=onkeyup ?
http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onkeypress
Gruß plan_B
Hi Bernd!
<script language="text/javascript">
besser type="text/javascript" statt language..
if (document.layers)
document.captureEvents(Event.KEYPRESS)
Gut, NS weiss nun, dass das event relevant ist.
Aber: Wo ordnest du den event-handler dem event zu?
http://de.selfhtml.org/javascript/objekte/window.htm#capture_events
Dann gibt es eine Funktion bei dir:
function enter(e)
Und eine Textarea
<textarea onkeypress="enter()"></textarea>
Diese ruft tatsächlich enter() bei jedem Tastendruck auf... allerdings setzt sie nicht das event, weswegen du mit einen obigen if Abfragen ins leere läufst.
Noch ein kleiner Tip:
Mit einem globalen handler, wie beschrieben, kann man sich in einer globalen variablen den Code des letzten eingegebenen Zeichens merken.
Mit onkeypress im entsprechenden Element und der daraufhin aufgerufenen Funktion weisst du, wer die Quelle war und kannst das Zeichen aus der globalen Variable abholen.
Grüsse,
Richard
Grüsse,
Richard