11550 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Je suis en train de développer un livre d'or pour mon site et pour égayer un peu le tout ... je voudrais rajouter des smileys Smiley biggrin .

J'ai commencé un peu le script:




function smiley(text){
   var F = document.getElementById("ajout_mess");

   if (F.message_textarea.createTextRange && F.message_textarea.caretPos) {
      var caretPos = F.message_textarea.caretPos;
      caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? ' ' + text + ' ': ' ' + text + ' ';
      F.message_textarea.focus();
   }
   else {
      F.message_textarea.value  += ' ' + text + ' ';
      F.message_textarea.focus();
   }
}



Et dans mon tableau où il y a mes smileys ça donne :



<td width="100%" colspan="2" height="26">
  <p align="center">Votre message : *</td>
 </tr>
 <tr>
<td width="100%" colspan="2">
  <p align="center"><a href="#" onclick="javascript:smiley(':)');"><img src="./images/smileys/smile.gif" alt="Smile" border="0" /></a> etc ......



Donc quand je clique sur le smiley, il y n'y a pas de problème dans mon textarea cela place bien le smiley sous forme de symbole ( ex : : ) ).

Mais mon souci est que lorsque je visualise le message et bien le smiley en GIF n'apparait il reste sous forme de symbole donc ça sert un peu à rien.

Si quelqu'un aurait une solution à me proposer se serait fort sympathique de sa part Smiley lol

Meric d'avance
Modifié par Darki (05 Aug 2005 - 16:21)
Vois du coté de la fonction PHP str_replace.

Il faut que quand tu valides ton formulaire, tu transformes par exemple ":)" en "<img src="content.gif" />"...et ainsi de suite.
84mickael a écrit :
Vois du coté de la fonction PHP str_replace.

Il faut que quand tu valides ton formulaire, tu transformes par exemple ":)" en "<img src="content.gif" />"...et ainsi de suite.


C'est ce que j'avais pensais d'y faire en PHP en faisant une regex mais ça allait me compliquait la vie donc je voulais avoir une solution en JS.

Je n'avais pas pensé à la fonction str_replace .. Je vais allé me documenter sur cette fonction.

merci