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
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
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>
J'ai aussi un autre problème moins important :
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>
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.
Partager