Julian: Focus in Textfeld setzen

Guten Tag,

in dem nachfolgenden Beispiel geht es um die Möglichkeit, über einen Link Sonderzeichen in ein Textfeld einzufügen bzw. das Sonderzeichen jeweils an den in im Textfeld bereits vorhandenen Text anzuhängen.

Nach dem Klick auf den Link ist der Focus() vom Textfeld weg (klar) ...

ich fände es aber sinnvoll, wenn der Focus() nach dem Klick auf den Link im betreffenden Textfeld bleibt und zwar - da ist mein Problem -
RECHTS neben dem eingefügten Sonderzeichen - damit der Anwender gleich weiterschreiben kann.

formularebene.elements[textfeld].focus() setzt den Focus() zwar in das Textfeld, aber eben an den linken Rand des Textfeldes.

Weiss jemand Rat, wie ich die Schreibmarke immer rechts vom letzten Eintrag positionieren kann ?

mfg Julian

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function zeige_sonderzeichen(formular,textfeld,sonderzeichen)
{
sonderzeichen = String.fromCharCode(sonderzeichen);
formularebene = document[formular];
wert = formularebene.elements[textfeld].value;
wertneu = wert+sonderzeichen;
formularebene.elements[textfeld].value = wertneu;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<A HREF="javascript:zeige_sonderzeichen('formular01','textfeld01',241)">Sonderzeichen</A>
<CENTER>
<FORM NAME="formular01">
<INPUT TYPE="text" NAME="textfeld01" ID="textfeld01" CLASS="textfeld" SIZE="20" VALUE="">
</FORM>
</CENTER>
</BODY>
</HTML>

  1. So gehts bei mir

    function zeige_sonderzeichen(formular,textfeld,sonderzeichen)
    {
    sonderzeichen = String.fromCharCode(sonderzeichen);
    formularebene = document[formular];
    wert = formularebene.elements[textfeld].value;
    wertneu = wert+sonderzeichen;
    formularebene.elements[textfeld].value = wertneu;
    formularebene.elements[textfeld].focus();
    }

    1. So gehts bei mir

      Ja, so gehts eben leider nicht ;-) - so wie von dir vorgeschlagen wird der Focus links am Rand des Textfeldes gesetzt, nicht rechts vom letzten Zeichen (vom gesetzten Sonderzeichen).

      Mfg Julian

      1. Ja, so gehts eben leider nicht ;-)

        ... aber in der Reihenfolge !

        wert = wert+sonderzeichen;
        formularebene.elements[textfeld].focus();
        formularebene.elements[textfeld].value = wert;

        [msg:wieder schnell gepostet und anschliessend scharf nachgedacht]

        Sorry :-/

        mfg Julian