Problème bbcode javascript
deeploy
Messages postés
54
Statut
Membre
-
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
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
A voir également:
- Problème bbcode javascript
- Telecharger javascript - Télécharger - Langages
- A javascript error occurred in the main process - Forum Handicap / Accessibilté
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Javascript arrondi - Forum Javascript
- Javascript arrondi après la virgule ✓ - Forum Windows