Voilà je suis en train de m'arracher les cheveux sur une fonction pour insérer un smiley dans un champ textarea pour être récupérer ensuite via la BDD.
J'ai un petit problème pour la copie du smiley dans le textarea, j'utilise pour cela un bout de code java script mais malheureusement ça ne marche pas et je vois ne vraiment pas pourquoi.
Je voudrais faire en sorte que lors du clic sur le smiley, le code s'affiche dans le textarea. La récupération quant à elle fonctionne bien.
Je travaille en PHP, voici la fonction ;
Code : Tout sélectionner
echo '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">'."\n\n";
[...]
echo "<script type=\"text/javascript\" language=\"JavaScript\">\n";
echo "//<![CDATA[";
echo "function emoticon(text)
{
var txtarea = document.post.texte;
text = ' ' + text + ' ';
if (txtarea.createTextRange && txtarea.caretPos)
{
var caretPos = txtarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
txtarea.focus();
}
else
{
txtarea.value += text;
txtarea.focus();
}
}";
echo "//]]>";
echo "</script>\n";
Code : Tout sélectionner
echo " <form method=\"post\" name=\"post\" action=\"commentaire_post.php\">\n";
[...]
echo " <textarea cols=\"80\" rows=\"4\" name=\"texte\"></textarea><br />\n";
foreach($tablesmilies as $cle => $val)
{
echo '<img src="commentaires/images/smilies/'.$val.'" onmouseover="this.style.cursor=\'hand\';" onclick="emoticon(\' '.$cle.' \');" alt="'.$cle.'" title="'.$cle.'" />';
}
J'espère avoir été clair et que vous pourrez me dépanner !
Merci d'avance et bonne journée.