cs_damsdu92
Messages postés3Date d'inscriptionjeudi 23 février 2006StatutMembreDernière intervention 1 avril 2008
-
31 mars 2008 à 19:38
cs_damsdu92
Messages postés3Date d'inscriptionjeudi 23 février 2006StatutMembreDernière intervention 1 avril 2008
-
1 avril 2008 à 11:32
Bonjour,
J'ai actuellement un petit soucis avec la methode createRange() .
Je vous explique :
Sur le site que je suis en train de faire, je souhaite mettre en place un textarea dans lequel je souhaite faire un peu de mise en page avec du BB code.
J'ai récupéré une fonction qui permet d'insérer mes balises de mise en forme. La fonction marche bien sur une page de test la plus simple possible. Par contre en faisant un copier coller dans ma page, là elle ne fonctionne qu'à moitié.
Le BB code s'insère bien là où se trouve le curseur, mais si on selectionne un texte pour que les balises l'entourent le BB code se place à l'endroit où on clique pour faire la selection, mais ne l'entoure pas.
Donc j'ai fais un test :
- J'ai mis un alert(); pour voir si la fonction recupère bien la selection. Sur la page test ca fonctionne il m'affiche le texte selectionné mais sur ma page la selection est vide.
Je ne comprend pas pourquoi cette selection est vide.
var repdeb="["+tag+"]";
var repfin="/"+tag+"";
var input = document.forms['formulaire'].elements['commentaires'];
//var input = document.getElementById('commentaires');
input.focus();
/* pour l'Explorer Internet */
if(typeof document.selection != 'undefined') {
/* Insertion du code de formatage */
var range = document.selection.createRange();
var insText = range.text;
alert(insText);
range.text = repdeb + insText + repfin;
/* Ajustement de la position du curseur */
range = document.selection.createRange();
if (insText.length == 0) {
range.move('character', -repfin.length);
}
else {
range.moveStart('character', repdeb.length + insText.length + repfin.length);
}
range.select();
}
}
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 31 mars 2008 à 21:50
Ton problème viens du fait que ta
TEXTAREA perd le focus, donc il n'existe plus de selection, au moment ou tu
cliques sur le document...
...essaies de remplacer ton DIV par un input
;O)