cs_skit
Messages postés54Date d'inscriptionvendredi 24 octobre 2003StatutMembreDernière intervention23 septembre 2009
-
3 nov. 2006 à 20:59
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 2011
-
7 nov. 2006 à 18:28
B'jour à tous :)
Après avoir longuement cherché l'erreur dans mon code; j'ai trouvé qu'en fait le bug venait de la sélection d'une cellule.
En fait je sélectionne une partie du texte dans textarea et ensuite j'ajoute mes 2 balises avant et après ce texte.
Mais pour les couleurs ça ne marche pas. Et pour cause; j'utilise un
tableau dont les cellules sont colorées donc quand je clic sur le
tableau; la sélection passe du textarea aux cellules et par conséquent
mes balises agissent comme si je n'avais pas sélectionné une partie du
texte (donc en ce mettant à la fin vu que rien n'est sélectionné)
Quelqun aurait un petit code en java ou autre pour éviter que la
sélection passe sur le tableau sous IE? (car le bug n'apparaît pas sous
FF)
cs_skit
Messages postés54Date d'inscriptionvendredi 24 octobre 2003StatutMembreDernière intervention23 septembre 2009 4 nov. 2006 à 01:11
Mici mais ça ne correspond pas à mon problème.
Mon problème vient plutôt du fait que lorsque je clic sur un boutton
c'est le texte du textarea qui reste sélectionné sous IE mais lorsque
je clic sur une cellule de tableau la sélection s'enlève et alors les
balises arrivent comme si le texte n'avait pas été sélectionné.
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 4 nov. 2006 à 07:52
B
onjour...
y voyant un peu plus clair, je pense que dans ce cas il te faut gérer avec l'événement onblur du textarea la position du curseur et/ou le texte sélectionné.
Vous n’avez pas trouvé la réponse que vous recherchez ?
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 7 nov. 2006 à 18:28
B
onjour...
Je ne constate pas de problème, mais j'ai testé avec la fonction ci dessous...
function bbcode( where_, bbdebut, bbfin){
var Obj = document.getElementById( where_);
Obj.focus();
/* pour IE (toujous un cas appar lui ;) )*/
if(typeof document.selection != 'undefined'){
var range = document.selection.createRange();
var insText = range.text;
range.text = bbdebut + insText + bbfin;
range = document.selection.createRange();
if (insText.length == 0){
range.move('character', -bbfin.length);
}
else{
range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
}
range.select();
}
/* pour les navigateurs plus récents que IE comme Firefox... */
else if(typeof Obj.selectionStart != 'undefined'){
var start = Obj.selectionStart;
var end = Obj.selectionEnd;
var insText = Obj.value.substring(start, end);
Obj.value = Obj.value.substr(0, start) + bbdebut + insText + bbfin + Obj.value.substr(end);
var pos;
if (insText.length == 0){
pos = start + bbdebut.length;
}
else{
pos = start + bbdebut.length + insText.length + bbfin.length;
}
Obj.selectionStart = pos;
Obj.selectionEnd = pos;
}
}
Pas de différence notable ci ce n'est que je passe en paramètre l'ID du champ de texte et que je n'utilise pas input qui est peut être à l'origine du trouble, car mot réservé.