le 13/01/2005 à 19:10
mobman02
J'ai un probleme de javascript !
C'est pour un script d'insertion de texte de un textarea.
(c'est un script qui a pour base un des scripts que vous proposer en download... Bah c'est plein d'erreur de PHP ! Mais la, c'est le javascript qui me pose des prob)
Voici les fonctions que j'utilise:
Voici le textarea:
et enfin, voici comment je met le texte:
J'ai des erreurs de partout.
Voyez les commentaires dans la source.
Alors comment pourrais je faire ?
Quelqu'un peu m'aider s'il vous plait ??
En plus c'est censer mettre le texte a la position du curseur,
mais ca le met a chaque fois a la fin du texte ! lol
Merci :)
C'est pour un script d'insertion de texte de un textarea.
(c'est un script qui a pour base un des scripts que vous proposer en download... Bah c'est plein d'erreur de PHP ! Mais la, c'est le javascript qui me pose des prob)
Voici les fonctions que j'utilise:
<script language="JavaScript">
var g_posCurseur;
function getPosCurseur(oTextArea)
{
var sAncienTexte = oTextArea.value;
var oRange = document.selection.createRange(); // Erreur : document.selection has no properties (lorsque que je tape du texte dans le textarea, les erreurs apparaissent)
var sAncRangeTexte = oRange.text;
var sMarquer = String.fromCharCode(28)+String.fromCharCode(29)+String.fromCharCode(30);
oRange.text = sAncRangeTexte + sMarquer; oRange.moveStart('character', (0 - sAncRangeTexte.length - sMarquer.length));
var sNouvTexte = oTextArea.value;
oRange.text = sAncRangeTexte;
for (i=0; i <= sNouvTexte.length; i++)
{
var sTemp = sNouvTexte.substring(i, i + sMarquer.length);
if (sTemp == sMarquer)
{
var cursorPos = (i - sAncRangeTexte.length);
return cursorPos;
}
}
}
function setPosCurseur()
{
g_posCurseur = getPosCurseur(poster.message);
//Avertissement : Élément référencé par son ID/NAME dans le contexte global. Utilisez la propriété standard du W3C document.getElementById() à la place. (je ne sait pas faire ca...)
}
function insereChaine(sChaine)
{
if (typeof(g_posCurseur)=='undefined')
{
poster.message.value+=sChaine; //Avertissement : Élément référencé par son ID/NAME dans le contexte global. Utilisez la propriété standard du W3C document.getElementById() à la place. (ca c'est quand j'appuie sur le lien.)
}
else
{
var firstPart = poster.message.value.substring(0, g_posCurseur);
var secondPart = poster.message.value.substring(g_posCurseur,poster.message.value.length);
poster.message.value = firstPart + sChaine + secondPart;
}
}
</script>
Voici le textarea:
<form method="post" action="add_news.php" name="poster">
<textarea cols="80" rows="9" name="message" onmouseover="this.focus();" onchange="setPosCurseur();" onclick="setPosCurseur();"></textarea>
<input type="submit" name="submit" value="Envoyer">
</form>
et enfin, voici comment je met le texte:
<a href="javascript:insereChaine(':D')"><img src="http://www.freee.fr/lol.gif" border="0"></a>
J'ai des erreurs de partout.
Voyez les commentaires dans la source.
Alors comment pourrais je faire ?
Quelqu'un peu m'aider s'il vous plait ??
En plus c'est censer mettre le texte a la position du curseur,
mais ca le met a chaque fois a la fin du texte ! lol
Merci :)