JS: onkeydown beim FF

Raven280438

Erfahrenes Mitglied
Hi,

ich habe eine JS-Funktion geschrieben, die beim Drücken von Enter in einem Textfeld eine bestimmte Seite aufrufen soll.
Unter IE funktioniert sie, aber FF mal wieder nicht.

Hier die Funktion:
Code:
function check_enter(sessid,folder,Ereignis) {
	if (!Ereignis) {
		Ereignis = window.event;
	}
	if (Ereignis.which) {
		Tastencode = Ereignis.which;
	}
	else if (Ereignis.keyCode) {
		Tastencode = Ereignis.keyCode;
	}
	if (Tastencode == 13) {
		alert("Enter gedrückt....");
		location.href = 'index.php?open=abrufen&sek=mails&folder=' + folder + '&session_id=' + sessid;
	}
}

und der Aufruf der Funktion:
PHP:
echo "<input type='text' maxlength='3' name='mails_perpage' size='2' onkeydown=\"javascript:check_enter('".base64_encode($folder)."','$session_id')\" />";

Hat jemand eine Lösung?


Gruß
 
Hi,

übergib der Funktion check_enter als dritten Parameter noch das Eventobjekt für den FF.

Ausserdem ist javascript: nur notwendig, wenn Javascript im href-Attribut ausgeführt werden soll.
Code:
echo "<input type='text' maxlength='3' name='mails_perpage' size='2' onkeydown=\"check_enter('".base64_encode($folder)."','$session_id', event)\" />";
Ciao
Quaese
 
ah ok

Gibt aber immernoch ein Problem:
Wenn ich jetzt Enter drücke, wird zuerst der Submit Button aktiviert, so das das Formular abgeschickt wird, und nicht wie gewünscht das location.href

Komischer Weise funktioniert das location.href wenn ich in die Funktion davor ein alert() mit einbaue.
 
Hi,

gib in der Funktion false für den Fall zurück, dass Return gedrückt wurde, true sonst.
Code:
function check_enter(sessid,folder,Ereignis) {
	if (!Ereignis) {
		Ereignis = window.event;
	}
	if (Ereignis.which) {
		Tastencode = Ereignis.which;
	}
	else if (Ereignis.keyCode) {
		Tastencode = Ereignis.keyCode;
	}
	if (Tastencode == 13) {
		location.href = 'index.html?open=abrufen&sek=mails&folder=' + folder + '&session_id=' + sessid;
    return false;
	}
  return true;
}
Der Aufruf sieht dann wie folgt aus:
Code:
echo "<input type='text' maxlength='3' name='mails_perpage' size='2' onkeydown=\"return check_enter('".base64_encode($folder)."','$session_id', event)\" />";
Vielleicht hilft dir das weiter.

Ciao
Quaese
 

Neue Beiträge

Zurück