Lasta. Martin: .focus() setzen im IE7, Cursor hinter Text statt vor Text

Sehr geerhte Damen und Herren,

ich habe folgendes Problem:

Ich setze einen Focus auf ein Input Element mit:

document.getElementById(this.myIDVal).focus();

Der Focus funktioniert im Firefox 2.0.0.6 und im IE 7.0.5730.11 prima, allerdings hat der IE 7 einen Nachteil:

Er setzt den Focus (Cursor) vor den Text im Inputelement.

Sprich Firefox:

"Mein Text[cursor]"

während der IE7:

"[cursor]Mein Text"

daraus macht.

Gibt es eine Möglichkeit / Trick dieses Problem zu umgehen? Es ist zwar nur eine kleine Sache kann aber viel in der Usability ausmachen.

Ein ähnliches Problem habe ich im IE 7 wenn ich dieses "Feld anklicken" möchte, um dort Text einzugeben. Ich kann den Focus dieses Elements nur erlangen wenn ich auf den Text klicke. Wenn ich dahinter klicke erlange ich keinen Focus, das ist auch sehr störrend für die Usability. Wie gesagt treten diese Probleme im Firefox nicht auf.

Eine Auffälligkeit habe ich allerdings:
Das Input Element liegt ÜBER einen div element. Sprich das Input Element hat z-index 900 und das div dadrüber 1000.

Bin für jeden Hinweis dankbar.

Mit freundlichen Grüßen,

Martin

  1. Hi Lasta. Martin!

    Gibt es eine Möglichkeit / Trick dieses Problem zu umgehen? Es ist zwar nur eine kleine Sache kann aber viel in der Usability ausmachen.

    Ich habe da auf die schnelle nur folgendes gefunden: http://news.hping.org/comp.lang.javascript.archive/5419.html
    Also versuch mal, nach dem focus() dem input seinen eigenen Inhalt zuzuweisen. (ungetestet)

    Eine Auffälligkeit habe ich allerdings:
    Das Input Element liegt ÜBER einen div element. Sprich das Input Element hat z-index 900 und das div dadrüber 1000.

    Mit einem z-index von 1000 liegt das div über dem input, nicht umgekehrt.

    mfG
    Benjamin

    --
    Selfcode: ie:} fl:{ br:> va:) ls:< fo:( rl:? n4:# ss:| de:] js:| ch:? sh:( mo:? zu:)
    "And all those exclamation marks, you notice? Five? A sure sign of someone who wears his underpants on his head."
    (Terry Pratchett)