par
alaingpl » 04 janv. 2008, 10:28
Bonjour à tous,
Je cherche à améliorer mes formulaires en leur ajoutant des boutons de mise en forme et j'ai suivi le tutoriel
http://www.siteduzero.com/tuto-3-11567- ... #ss_part_1 . Mais il existe des pages où se trouve 2 "textaera" et comme l'indique l'auteur du tuto ce code permet seulement de traiter un seul "textarea" à la fois.
Attention toutefois à cette ligne :
var input = window.document.formulaire.message;
Comme expliqué dans le tuto, il faut que vous mettiez le nom du formulaire et du textarea ; donc, si vous les modifiez, pensez à changer cette partie du code.
formulaire est le nom du <form> et message est le nom du <textaera>
Je n'ai aucune notion de javascript et je ne vois pas comment modifier ce code pour qu'il traite plusieurs "textarea" en même temps. Quelqu'un peut il m'aider ?
Merci d'avance de l'aide.
Ci - dessous le javascript complet
Code : Tout sélectionner
<script language="javascript">
function bbcode(bbdebut, bbfin)
{
var input = window.document.formulaire.message;
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);
}
}
</script>
Bonjour à tous,
Je cherche à améliorer mes formulaires en leur ajoutant des boutons de mise en forme et j'ai suivi le tutoriel http://www.siteduzero.com/tuto-3-11567-1-poster.html#ss_part_1 . Mais il existe des pages où se trouve 2 "textaera" et comme l'indique l'auteur du tuto ce code permet seulement de traiter un seul "textarea" à la fois.
[quote]Attention toutefois à cette ligne :
var input = window.document.formulaire.message;
Comme expliqué dans le tuto, il faut que vous mettiez le nom du formulaire et du textarea ; donc, si vous les modifiez, pensez à changer cette partie du code.
[/quote]
formulaire est le nom du <form> et message est le nom du <textaera>
Je n'ai aucune notion de javascript et je ne vois pas comment modifier ce code pour qu'il traite plusieurs "textarea" en même temps. Quelqu'un peut il m'aider ?
Merci d'avance de l'aide.
Ci - dessous le javascript complet
[code]<script language="javascript">
function bbcode(bbdebut, bbfin)
{
var input = window.document.formulaire.message;
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);
}
}
</script>[/code]