Titre: adresse curseur
Posté par: bul le le 05-11-2003 a 10:35:08
bonjour à tous peut-on connaître l'adresse du curseur dans une zone <input type=textarea ... > par exemple ? j'ai développé en javascript un petit éditeur de texte et je voudrais insérer les fichiers non pas en fin ou début du texte mais là où est la curseur. merci d'avance
|
Titre: Re:adresse curseur
Posté par: Trantsiss le le 10-11-2003 a 09:09:33
Mmùh si j'ai bien compris ce que tu demandes, cela rejoins la question que j'avais déjà posée sur ce forum; à savoir insérer du texte à l'endroit où se trouve le curseur. Je suis tjrs en train de chercher à quoi correspond las fonctions, mais en tout cas ça marche.
cette fonction permet de copier ce qu'il y a dans ton texte area dès que tu écris
Code:
function storeCaret(text) { if (text.createTextRange) { text.caretPos = document.selection.createRange().duplicate(); } } |
|
celle-ci sert à rajouter un texte choisi, si tu surligne un mot de ton texte il sera remplacé par le nouveau
Code:
function ReplaceText(Mot) { if (document.annonce.texte.createTextRange) { var text; document.annonce.texte.focus(document.annonce.texte.caretPos); document.annonce.texte.caretPos = document.selection.createRange().duplicate(); if(document.annonce.texte.caretPos.text.length>0) { document.annonce.texte.caretPos.text = ' '+Mot; } else { document.annonce.texte.caretPos.text = ' '+Mot; } } else document.annonce.texte.value += ' '+Mot; } |
|
Enfin voici le code à mettre dans le texte area, note que mon form s'appel annonce et que mon textarea s'appel texte; donc si tu changes les noms pense à les changer dans les fonctions ;)
Code:
<form method=post name=annonce action=formann.php> <textarea cols=45 rows=15 onkeyup=javascript:storeCaret(this); onclick=javascript:storeCaret(this); onchange=javascript:storeCaret(this); name=texte></textarea> |
|
|
Titre: Re:adresse curseur
Posté par: bul le le 10-11-2003 a 10:38:04
j'utilise cela : function caradr (txt) { if (txt.createTextRange) txt.adrcurs = document.selection.createRange().duplicate(); } function ajouter(zone) {if (saisie.createTextRange && saisie.adrcurs) { var adrcurs = saisie.adrcurs; adrcurs.text =adrcurs.text.charAt(adrcurs.text.length - 1) == ' ' ? zone + ' ' : zone; } else { saisie.value = zone; } } ... <Textarea name=saisie id=saisie onselect="caradr(this);" onclick="caradr(this);" onkeyup="caradr(this);" ... >
qui doit être la même chose et doit avoir la même origine effectivement on insére là où est le curseur et c'est déjà pas mal, mais moi je voudrais réellement l'adresse, la postion du curseur zone = 1234567890 1234567890... | curseur ici => 14 ou 16 si crlf ligne 1 car je veux retenir "1234567890crlf1234" ou "567890..."
|
Titre: Re:adresse curseur
Posté par: Trantsiss le le 10-11-2003 a 10:50:09
Ok je vois le genre, mais là je ne sais pas comment obtenir ^__^;
Donc je ne pourrais pas t'aider désolé. |
Titre: Re:adresse curseur
Posté par: bul le le 02-01-2004 a 14:48:14
finalement j'ai une bidouille (pas belle, je dirais même horrible, mais qui marche) pour faire. si interessé, contactez-moi
|
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|