Javascript : ajout d'un texte dans un textear
Bonjour,
Voilà j'aimerais simplement intégrer automatiquement des smileys dans mon formulaire en cliquant sur leur image.
J'ai récupéré ce script là qui marche parfaitement sous IE (positionnant le texte à l'endroit du curseur), mais il ne marche pas sous Firefox ...
Sous ce dernier, il remplace tout simplement le texte précédent par le texte à inscrire.
Sauriez vous comment insérer sans effacer le texte précédent, sous firefox ? (si possible en insérant à l'endroit du curseur, mais sinon je suis quand meme preneur)
Merci ;-)
Voici mon code :
Voilà j'aimerais simplement intégrer automatiquement des smileys dans mon formulaire en cliquant sur leur image.
J'ai récupéré ce script là qui marche parfaitement sous IE (positionnant le texte à l'endroit du curseur), mais il ne marche pas sous Firefox ...
Sous ce dernier, il remplace tout simplement le texte précédent par le texte à inscrire.
Sauriez vous comment insérer sans effacer le texte précédent, sous firefox ? (si possible en insérant à l'endroit du curseur, mais sinon je suis quand meme preneur)
Merci ;-)
Voici mon code :
<HTML>
<HEAD>
<TITLE>Insert</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function storeCaret(textEl) {
if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}
function insertAtCaret (textEl, text)
{
if (textEl.createTextRange && textEl.caretPos)
{
var caretPos = textEl.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
}
else
textEl.value = text;
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<textarea rows="5" name="zonetexte" cols="20" ONSELECT="storeCaret(this);" ONCLICK="storeCaret(this);" ONKEYUP="storeCaret(this);"> C'est le début du texte.</textarea>
<INPUT TYPE="button" STYLE="font-family:courier;" VALUE="Ajouter" ONCLICK="insertAtCaret(this.form.zonetexte,'LE TEXTE');">
</FORM>
</BODY>
</HTML> Configuration: Windows XP Firefox 2.0.0.14