Focus auf Eingabefeld

Hallo,

wenn ich im IE (bisher egal welche Version) einen focus(), beim Laden der Seite, auf ein Eingabefeld (input type="text") mit einem vordefinierten Wert (value="test") mache, so steht der Cursor am Anfang des Eingabefeldes.

Der Firefox setzt den Cursor ans Ende, was ein sofortiges Losschreiben ermöglicht. Im Internet Explorer muss ich demnach erst ans Ende des Eingabefeldes klicken. Es soll eben so sein, dass ich in einem Eingabefeld einen Wert vordefiniere, der Cursor dorthin springt, und gleich das Ende des Eingabefeldes geklickt ist und ich losschreiben kann.

Test
Code:
<html>
<head></head>
<body onload="document.getElementById('test').focus();">
<input type="text" name="test" id="test" value="definiert">
</body>
</html>

Testet man es im Firefox, so kann man zuzüglich dem "definiert" einen Text schreiben. Wenn man im IE losschreibt, so schreibt man vor das "definiert" seinen Text.

Das ist jetzt ein sehr simples Beispiel, aber im Grunde steckt mehr dahinter, also nicht denken "der soll sich mal nicht so anstellen".

Ich wäre über Hilfe sehr dankbar.




Mfg Tom
 
Ruf bei onload eine Funktion auf die den Focus setzt und den Wert des Feldes auf leer. Das dürfte das Problem beheben.
Code:
function blah()
{
document.getElementById('test').value='';
document.getElementById('test').focus();
}
HTML:
<body onload="blah();">


Die 2 Funktionen verknüpfen müsste auch gehen. Bin mir aber nicht sicher ob man das so schreiben kann. Mit einer separaten Funktion ist es sicher eleganter.

HTML:
<body onload="document.getElementById('test').focus(); document.getElementById('test').value='';">
 
Zuletzt bearbeitet:
Hallo,

das Value soll ja gefüllt bleiben, der Cursor an letzter Stelle des Eingabefeldes. Ich bin zu einer Lösung gekommen, die wiefolgt aussieht:

Code:
try {
	
   var range = document.getElementById("test").createTextRange();
   range.move("character", document.getElementById("test").value.length);
   range.select();
} catch (e) {
	
   document.getElementById("test").focus();
}

Der try-Block führt zu einer Exception, wenn man sich in einem anderen Browser als dem IE befindet. Wie in meinem Falle dem Firefox. Dort wird der Cursor schon korrekt gesetzt.

Ich danke trotzdem für die Hilfe, und hoffe auch weiteren geholfen zu haben.



Mfg Tom
 

Neue Beiträge

Zurück