Insérer texte dans text

yoarf Messages postés 215 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 19 février 2009 - 17 janv. 2006 à 18:19
Anthed Messages postés 152 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 17 janvier 2014 - 17 janv. 2006 à 22:44
Salut !

Voilà, je voudrez, grâce à des boutons "gras", "italique", ... insérer dans des texteareas du texte.
Cependant une seul ligne de "mise en page" fonctionnant pour toutes les textarea. Ainsi, la textarea à modifier serait celle selectionné, c'est à dire celle avec le curseur actif.

Pour ma part j'ai ce code, mais il ne fonction que pour une seule textarea, ainsi à la place de "guestbook" il faudrait mettre une variable spécifiant le nom de la textarea active, mais je ne vois pas comment faire ... :
<script type="text/javascript">
function addText(instext) {


var mess = document.guestbook.message;
//IE support
if (document.selection) {
mess.focus();
sel = document.selection.createRange();
sel.text = instext;
document.guestbook.focus();
}
//MOZILLA/NETSCAPE support
else if (mess.selectionStart || mess.selectionStart == "0") {
var startPos = mess.selectionStart;
var endPos = mess.selectionEnd;
var chaine = mess.value;


mess.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);


mess.selectionStart = startPos + instext.length;
mess.selectionEnd = endPos + instext.length;
mess.focus();
} else {
mess.value += instext;
mess.focus();
}
}
</script>
</head>



[# http://www.editeurjavascript.com/forum/images/smiles/icon_smile.gif]" alt="" border="0" />
[# http://www.editeurjavascript.com/forum/images/smiles/icon_wink.gif]" alt="" border="0" />


<form action="" name="guestbook">
<textarea name="message" cols="40" rows="10"></textarea>
</form>




Merci.

Y.C

1 réponse

Anthed Messages postés 152 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 17 janvier 2014 3
17 janv. 2006 à 22:44
Hello.
Il suffit de rajouter un onfocus sur tes textareas qui met à jour le nom de la textarea courante :

<script type="text/javascript">
var textAreaId = "";


function updateTextAreaId(caller)
{
textAreaId = caller.id;
}


function addText(instext)
{
if (textAreaId != "")
{
var mess = document.getElementById(textAreaId);
//IE support
if (document.selection)
{
mess.focus();
var sel = document.selection.createRange();
sel.text = instext;
mess.focus();
}
//MOZILLA/NETSCAPE support
else if (mess.selectionStart || mess.selectionStart == "0")
{
var startPos = mess.selectionStart;
var endPos = mess.selectionEnd;
var chaine = mess.value;


mess.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);


mess.selectionStart = startPos + instext.length;
mess.selectionEnd = endPos + instext.length;
mess.focus();
}
else
{
mess.value += instext;
mess.focus();
}
}
}
</script>
</head>




[#
http://www.editeurjavascript.com/forum/images/smiles/icon_smile.gif]" alt border="0" />
[#
http://www.editeurjavascript.com/forum/images/smiles/icon_wink.gif]" alt border="0" />

<form action name="guestbook">
<textarea name="message1" id="text1" cols="40" rows="10" onfocus="updateTextAreaId(this);"></textarea>
<textarea name="message2" id="text2" cols="40" rows="10" onfocus="updateTextAreaId(this);"></textarea>
</form>



Bonne continuation.
0
Rejoignez-nous