Texte dans div au curseur

tonytruand Messages postés 175 Date d'inscription samedi 23 octobre 2004 Statut Membre Dernière intervention 8 mars 2015 - 16 mai 2005 à 20:30
tonytruand Messages postés 175 Date d'inscription samedi 23 octobre 2004 Statut Membre Dernière intervention 8 mars 2015 - 17 mai 2005 à 20:07
bonsoir,
J'ai encore un soucis, j'aimerais envoyer du texte dans un div à l'endroit du curseur comme cela se fait déjà dans un textarea (vu sur forum), j'ai récupéré des bouts de codes (merci à tous) mais rien n'y fait le 2 ème envoi de texte, écrase le premier ??? merci par avance !

<html>
<head>
<script>
var g_posCurseur; // variable global positition du curseur

//définit la postition du curseur
function setPosCurseur() {
g_posCurseur = getPosCurseur(poster.Layer1);
}

//retourne l'emplacement du curseur
function getPosCurseur(oLayer1) {
//sauve le contenu avant modification de la zone de texte
var sAncienTexte = oLayer1.value;

//crer un objet "Range Objet" et sauve son texte avant modification
var oRange = document.selection.createRange();
var sAncRangeTexte = oRange.text;
//cette chaine ne doit pas se retrouver dans la zone de texte !
var sMarquer = String.fromCharCode(28)+String.fromCharCode(29)+String.fromCharCode(30);

//insère la chaine où le curseur est
oRange.text = sAncRangeTexte + sMarquer; oRange.moveStart('character', (0 -


sAncRangeTexte.length - sMarquer.length));

//sauver la nouvelle chaine
var sNouvTexte = oLayer1.value;

//remet la valeur du texte à son ancienne valeur
oRange.text = sAncRangeTexte;

//recherche dans la nouvelle chaine et trouve l'emplacement
// de la chaîne de marquage et renvoie la position
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;
}
}
}

//insère la chaine dans la zone de texte où le curseur est
function insereChaine(sChaine) {
//si curseur n'a pas de position : insère la chaine à la fin
if (typeof(g_posCurseur)=='undefined') {
poster.Layer1.value+=sChaine;
}else {
var firstPart = poster.Layer1.value.substring(0, g_posCurseur);
var secondPart = poster.Layer1.value.substring(g_posCurseur,poster.Layer1.value.length);
poster.Layer1.value = firstPart + sChaine + secondPart;
}
}
</SCRIPT>
<script>

function infoWrite(Layer1){
document.getElementById("Layer1").innerHTML = Layer1;
}
</script>
</head>

<form name=poster>


<script language="JavaScript" type="text/javascript">


function storeCaret(text)
{ // voided
}
function AddText(startTag,defaultText,endTag)
{
if (document.poster.Layer1.createTextRange)
{
var text;
document.poster.Layer1.focus(document.poster.Layer1.caretPos);
document.poster.Layer1.caretPos = document.poster.Layer1.selection.createRange().duplicate();
if(document.poster.Layer1.caretPos.text.length>0)
{
document.poster.Layer1.caretPos.text = startTag + document.poster.Layer1.caretPos.text +


endTag;
}
else
{
document.poster.Layer1.caretPos.text = startTag+defaultText+endTag;
}
}
else document.poster.Layer1.value += startTag+defaultText+endTag;
}
</script>
<textarea rows='7'
cols='30'
name=test
wrap="hard"
rt
onclick="javascript:storeCaret(this);"
onchange="javascript:storeCaret(this);" readonly
>Aide disponible ici</textarea>


[# Aide 1]


[# Aide 2]




</form>

</html>

3 réponses

chimelpremier Messages postés 544 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 20 mai 2005
17 mai 2005 à 10:11
fait une recherche ici ou dans google avec "texte curseur"
0
tonytruand Messages postés 175 Date d'inscription samedi 23 octobre 2004 Statut Membre Dernière intervention 8 mars 2015
17 mai 2005 à 20:04
texte curseur chez google donne en résultat un texte qui suit le curseur ;
moi c'est un texte à l'emplacement du curseur qui m'intéresse

merci quand même
0
tonytruand Messages postés 175 Date d'inscription samedi 23 octobre 2004 Statut Membre Dernière intervention 8 mars 2015
17 mai 2005 à 20:07
Peut être finalement que ce n'est pas possible de fixer du texte à un point précis dans un div comme dans un textarea ???????????
0
Rejoignez-nous