Problème bbcode javascript

deeploy Messages postés 54 Statut Membre -  
deeploy Messages postés 54 Statut Membre -
Bonjour,

J'ai un petit problème avec une fonction bbcode en javascript. Je ne sais pas si ca vient de la fonction, ou d'ailleurs. Mais ce qui se passe c'est question couleur. J'utilise ma fonction pour mettre en forme une news, je mets du rouge sur la partie de ma news que je veux mettre en rouge, ca fonctionne.
Je vais un peu plus loin mettre une autre partie en rouge, ca ne fonctionne plus ... La deuxième mise en forme va afficher la balise bbcode que j'ai faite.
Exemple :

"Je viens d'être informée que la prochaine livraison UNIQUE EN WALLONIE en Charcuterie et viande sans allergènes se fera ce [rouge]SAMEDI 07 AOÛT/rouge.
Vu le succès et la forte demande pour ces produits, je vous conseille de [rouge]passer commande./rouge"

Le premier rouge va bien être traduit en balise <span couleur="rouge">SAMEDI 07 AOÛT</span> et être affiché en rouge...
Par contre la deuxième sélection va être affichée tel quel [rouge]passer commande./rouge

Je mets le code de la fonction javascript :

<script>
function bbcode(bbdebut, bbfin)
{
var input = window.document.formulaire.news;
input.focus();
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();
}
else if(typeof input.selectionStart != 'undefined')
{
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
var pos;
if (insText.length == 0)
{
pos = start + bbdebut.length;
}
else
{
pos = start + bbdebut.length + insText.length + bbfin.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}

else
{
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos))
{
pos = prompt("insertion (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length)
{
pos = input.value.length;
}
var insText = prompt("Veuillez taper le texte");
input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
}
}
function smilies(img)
{
window.document.formulaire.news.value += '' + img + '';
}
</script>



Si vous avez besoin de plus d'informations demandez, je n'ai pas trop chargé la page exprès.

Merci d'avance

2 réponses

deeploy Messages postés 54 Statut Membre 6
 
up
0
deeploy Messages postés 54 Statut Membre 6
 
up svp ... c'est important !
0