Toon posts:

[javascript]Text inserten bij cursor positie

Pagina: 1
Acties:

Verwijderd

Topicstarter
hidiho, ik zit weer eens met een probleem en ik kan het niet vinden (brainfart). Ik probeer in een textfield een bepaald stukje tekst in te voegen waar de cursor zich op dat moment bevind, ik krijg het alleen niet voor elkaar.

Dit is wat ik tot nu heb:
HTML:
1
2
3
4
5
6
7
8
9
<script type="text/javascript">
function insertAtCaret (textEl, text) {
if (textEl.createTextRange && textEl.caretPos) {
var caretPos = textEl.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) ==' ' ?
                                text + ' ' : text;
    } 
 } 
</script>


En volgens mij slaat dit dus helemaal nergens op :P Mocht iemand zich geroepen voelen om mij te assisteren dan zou ik dat zeer prettig vinden, zo niet dan nog steeds een fijn weekend :)

[ Voor 5% gewijzigd door Verwijderd op 20-06-2003 15:58 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Ik hoop dat je de taal Frans kort geleden hebt geupload :P

werkend voorbeeld:
http://www.asp-php.net/scripts/scripting/addtext.php


ander beknopt voorbeeld:
JavaScript:
1
2
3
4
5
6
7
8
9
10
var smiley = ":-)";

if (document.Form1.TextArea1.caretPos) {
  var item = document.Form1.TextArea1.caretPos;
  item.text = item.text.charAt(item.text.length-1) == ' ' ? smiley + '
 ' : smiley;
} else {
  document.Form1.TextAre1.value += smiley;
}
setfocus(theform);

* BtM909 disclaimer: bovenstaand script niet getest

Bovenstaande 'oplossingen' gevonden door te [google=JS caretPos]

[ Voor 76% gewijzigd door BtM909 op 24-06-2003 13:13 . Reden: typo ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Ik gebruik zelf dit (is voor smilies, maar dat kan je natuurlijk gewoon vervangen door tekst)
code:
1
2
3
4
5
6
7
8
9
10
function SetSmiley(Which) 
{
    if (document.newentry.newtext.createTextRange)
    {
        document.newentry.newtext.focus();
        document.selection.createRange().duplicate().text = Which;
    }
    else
        document.newentry.newtext.value += Which;
}

fieldnames/formname moet je natuurlijk zelf ff goedzetten.

[ Voor 10% gewijzigd door Verwijderd op 20-06-2003 16:09 ]


Verwijderd

Topicstarter
Heren u wordt bedankt :)