Je cherche à intégrer des smileys dans ma textarea mais l'insertion ne fonctionne pas. J'utilise Firefox avec Firebug et visiblement le problème se situe au moment de la sélection du smiley (sélection grâce à des radiobutton).
Firebug m'indique que ration n'est pas défini (ratio is not defined). Pourtant ratio correspond bien au nom du bouttonradio !!

Voici mon code :
Affichage des smileys
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
<p>Smiley :
	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="1">
	<img src="smileys/classe.gif" width="15" height="15">
	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="2">
	<img src="smileys/clindoeuil.gif" width="15" height="15">
	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="3">
	<img src="smileys/content.png" width="15" height="15">
	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="4">
	<img src="smileys/demonNon.gif" width="15" height="15">
	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="5">
	<img src="smileys/demonOui.gif" width="15" height="15">
	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="6">
	<img src="smileys/enerve.gif" width="15" height="15">
	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="7">
	<img src="smileys/exclam.gif" width="15" height="15">
	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="8">
	<img src="smileys/fleche.gif" width="15" height="15">
	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="9">
	<img src="smileys/hallucinant.gif" width="15" height="15">
	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="10">
	<img src="smileys/heureux.gif" width="15" height="15">
	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="12">
	<img src="smileys/honte.gif" width="15" height="15">
	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="13">
	<img src="smileys/idee.png" width="15" height="15">
	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="14">
	<img src="smileys/interro.gif" width="15" height="15">
	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="15">
	<img src="smileys/langue.gif" width="15" height="15">
	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="16">
	<img src="smileys/lol.gif" width="15" height="15">
	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="17">
	<img src="smileys/pleur.gif" width="15" height="15">
	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="18">
	<img src="smileys/triste.gif" width="15" height="15">
	<input type="radio" name="ratio" value="radiobutton" OnClick=ratio.value="19">
	<img src="smileys/yeuxroule.gif" width="15" height="15">
	<br />
	<input name="button" type="button" OnClick="javascript:smiley();" value="Ajouter au message">
	<br />
</p>
Affichage dans la textarea du code correspondant à ces smileys :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
<script language="JavaScript" type="text/javascript">
function smiley()
{
	var smiles = new Array(':classe:',':clindoeuil:',':content:',':demonNon:',':demonOui:',':enerve:',':exclam:',':fleche:',':hallucinant:',':heureux:',':honte:',':idee:',':interro:',':langue:',':lol:',':pleur:',':triste:',':yeuxroule:')
	with(document.poster)
	{
		var smile = ratio.value;
		if(smile[smile-1])
		{
			if(msg.createTextRange)
			{
				var text;
				msg.focus(msg.caretPos);
				msg.caretPos = document.selection.createRange().duplicate();
				mag.caretPos.text = smiles[smile-1];
			}
			else
			{
				msg.value += smiles[smile-1];
			}
		}
	}
}
</script>
J'ai aussi un autre problème moins important :
Visiblement, la fonction createTextRange ne semble pas fonctionner sous Firefox. Cela m'empêche de positionner mes balises BBCode sur le texte sélectionné, la balise va toujours en fin de texte.
Existe-il un code qui fonctionnerai sous Firefox et IE ??

Merci d'avance pour vos réponses.