Hallo,
ich benutze öfters kleine Javascripts um eingaben in Formularfelder zu überprüfen. Falls bei einer diesen Überprüfungen ein Fehler / Falscheingabe entdeckt wird, soll eine Meldung ausgegeben werden (mittels "alert()") und der Cursor zurück in das betroffene Feld positioniert werden (mit "focus()", Beispiel weiter Unten). Das Problem ist: mit MSIE bis Version 4 und Netscape (zumindest alle getesteten Versionen) funktioniert es einwandfrei, bei MSIE5 gibt es allerdings ein seltsames verhalten: statt das der Cursor wie erwartet in das angegebene Feld positioniert wird, landet er in dem Seitenadresse-Feld (URL) des Browsers. Weis jemand wieso und (noch wichtiger) wie dieses verhalten zu umgehen ist?
Vielen Dank im Voraus
Carlos Hix
____________________________________________________
Beispielcode:
<HTML>
<HEAD>
<TITLE>Javascript Test</TITLE>
<SCRIPT language=Javascript1.1> <!--
function CheckInput(obj) {
with (obj) {
if (value.toUpperCase()!="X") {
focus();
select();
return false;
}
}
return true;
}
// --> </SCRIPT>
<BODY>
<H1>Javascript Test</H1><BR>
<FORM name=TestForm onsubmit="return false">
Input 1: <INPUT name=Input1 onchange="return CheckInput this)"><BR>
Input 2: <INPUT name=Input2 onchange="return CheckInput(this)"<BR>
<INPUT name="Button1" onclick=TestForm.Input1.focus() type=button value="Button 1">
<INPUT name="Button2" onclick=TestForm.Input2.focus() type=button value="Button 2">
</FORM>
<SCRIPT language=Javascript1.1> <!--
TestForm.reset();
TestForm.Input1.focus();
// --> </SCRIPT>
</BODY>
</HTML>