Javascript ajout d'éléments dans zone input

Bonjour,

J'ai un problème avec un code en javascript,

J'ai trouvé ce code :

flag=0

function addTex(let)
{
var story = document.tex.texarea.value
if(let=="BACK"){
story=story.substring(0, story.length-1)
document.tex.texarea.value=story
document.tex.texarea.focus()
}

else if(flag==1)
{
story+=let.toUpperCase()
flag=0
document.tex.texarea.value=story
document.tex.texarea.focus()
}
else
{
story+=let
flag=0
document.tex.texarea.value=story
document.tex.texarea.focus()
}
}
function capIt()
{
flag=1
}

Qui permettrai d'ajouter des éléments dans un champ input ayant pour nom texarea en mettant dans une balise href="javascript:addTex('texte')" les éléments à ajouter.

Il fonctionne correctement, le problème c'est qu'il ajoute les éléments à la fin, es-ce que quelqu'un saurai comment faire pour qu'il ajoute les éléments là où est positionné le curseur ?

Merci à ceux qui pourront m'aider.

4 réponses

  1. Merci mais ça m'aide pas vraiment parce ça fonctionne que sous Internet Explorer, et parce que je cherche à modifier le code que j'ai déjà et qui fonctionne partout.
    1. Je reviens à charge,

      j'ai réussi mais qu'à moitié

      j'ai trouvé ce code :

      function insertValue(chaineAj) {
      var myForm = document.WriteForm.text;
      //IE support
      if (document.selection) {
      myForm.focus();
      sel = document.selection.createRange();
      sel.text = chaineAj;
      document.WriteForm.focus();
      }
      //MOZILLA/NETSCAPE support
      else if (document.WriteForm.text.selectionStart || document.WriteForm.text.selectionStart == "0") {
      var startPos = document.WriteForm.text.selectionStart;
      var endPos = document.WriteForm.text.selectionEnd;
      var chaine = document.WriteForm.text.value;

      myForm.value = chaine.substring(0, startPos) + chaineAj + chaine.substring(endPos, chaine.length);
      } else {
      myForm.value += chaineAj;
      }
      }

      Il fait bien ce que je veux mais il fait n'importe quoi sous IE, il ajoute le texte au début, j'y connait pas grand chose en javascript, quelqu'un pourrai m'aider ?