Cursorposition in einem Textfeld ?

spitzi

Grünschnabel
Hi Leute,

bin ein blutiger Anfänger was JavsScript angeht und gerade dabei es zu lernen.
Ein paar Kenntnisse hab ich schon, somit hab ich schon mal ein Script geschrieben mit denen ich BBCodes realisiert habe.

Ich habs so hinbekommen wie hier, dass man z.B auf den BBCode für Fett-Schreiben klickt, sich ein fenster öffnet, man den gewünschten Text eingibt und dieser dann im Textfeld erscheint.
Jedoch hab ich ein Problem, ich schaffe es nur das der Text einfach hinten an das geschrieben drangehängt wird.
Wie kann man das allerdings realisieren das der Text dort eingefügt wird, wo man gerade mit dem Cursor steht ?

Danke euch schon im voraus,
Lg spitzi
 
Thema hatten wir heir schon oft. Bitte Forensuche benutzen oder, wenn du schon halbwegs aus bestehenden Scritps schlau wirst den Code von dem BBCode-Script auf meiner Seite zu tutorials.de lesen und ggf. selfhtml benutzen (Ich weiss Eigenwerbung stinkt :rolleyes:.

Rein vom Prinzip her haben IE und Geckos verschiedene Arten auf die aktuelle Cursorpostion (bzw. den aktuell markierten Text) zuzugreifen.

///IE:
document.selecteion.createRange().text
Du kannst direkt auf den Text zugreifen.

///Geckos:
document.getElementById('id').selectioStart/End
liefert die Start- bzw. Endposition des markierten Text in eindem Element mit id="id". Ueber document.getElementById('id').value.substring(docu...Start,docu...End) bekommst du dann den markierten Text (falls du den willst). Den Text innerhalb der Markierung kannst du aendern, indem du den substring von 0 bis zum selectionStart an das in was du's aendern willst dranhaengst und daran dann noch von selectionEnd bis zum richtigen Ende. Sprich den Text vor dem Cursor + bbcodes + Text nach dem Cursor, fuer gar keine markierung.

Mehr findest du ueber selfhtml oder google, oder die Forensuche. Bitte kuemmer dich selbst erst ausgibig drum, bevor du nochmal postest. Wie gesagt, das Thema ist schon ausfuerlich behandelt worden.
 
Zuletzt bearbeitet:
Danke vielmals, die Forensuche hatte ich benutzt, aber im Java Forum *shamed*
tut mir wirklich leid.
Aus deinem Script wurde ich schlau, das hat mir geholfen, danke nochmals :)

Lg
spitzi
 

Neue Beiträge

Zurück