Bonjour !
J'ai un script pour du BBcode avec des balises comme <u>, <i>, etc ... que vous pouvez voir ci-dessous :
J'ai un autre script de BBcode concernant cette fois les liens et les images, avec un prompt pour demander l'URL :
Comme vous pouvez le voir dans le premier script, il y a des paramètres pour que le BBcode n'efface pas ce qui a été écrit avant. Or dans le 2e script (lien + image), il n'y a pas ces paramètres ! Ce qui fait que j'écrit du texte puis je veux insérer mon lien mais tout le texte disparaît !
Je ne me débrouille pas très bien en JS ... est-ce que quelqu'un pourrait m'aider ?? Merci d'avance !
J'ai un script pour du BBcode avec des balises comme <u>, <i>, etc ... que vous pouvez voir ci-dessous :
function bbcode(bbdebut, bbfin)
{
var input = window.document.formulaire.textarea;
input.focus();
/* pour IE */
if(typeof document.selection != 'undefined') {
var range = document.selection.createRange();
var insText = range.text;
range.text = bbdebut + insText + bbfin;
/* Ajustement de la position du curseur */
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 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);
/* Ajustement de la position du curseur */
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;
}
/* pour les autres navigateurs comme Netscape... */
else
{
/* Ajustement de la position du curseur */
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.textarea.value += '' + img + '';
}
J'ai un autre script de BBcode concernant cette fois les liens et les images, avec un prompt pour demander l'URL :
function PromptLien() {
var lien = prompt("Saisissez votre lien :", "http://")
if (lien!=null) {
var nom = prompt ("Saissez le nom de votre lien",'') ;
document.forms["formulaire"].elements["textarea"].value=('<a href="' + lien + '">' + nom + '</a>');
}
}
function PromptImg() {
var lien = prompt("Saisissez l'adresse de votre image :", "http://")
if (lien!=null) {
document.forms["formulaire"].elements["textarea"].value=('<img src="' + lien + '" />');
}
}
Comme vous pouvez le voir dans le premier script, il y a des paramètres pour que le BBcode n'efface pas ce qui a été écrit avant. Or dans le 2e script (lien + image), il n'y a pas ces paramètres ! Ce qui fait que j'écrit du texte puis je veux insérer mon lien mais tout le texte disparaît !
