Position curseur dans textbox

Résolu
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 - 27 juil. 2006 à 18:14
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 - 19 sept. 2006 à 10:26
Bonjour,

Voila je désespere un peu et il commence a ce faire tard...
J'aimerais simplement récupérer la position du curseur dans le textbox en debut de fonction, ensuite faire un traitement pour changer le contenue complet de la textbox et apres le remettre a ca position de début.

en gros j'aimerais :
au début  dans el textbox : xxxxxxxxxxxx
pression touche event keydown :  xxxxxx2xxxxxx   // insertion donc un x en plus
a la fin : xxxxxx2xxxxx   // enlever un x pour toujours avoir le meme nombre de caractere dans la textbox.

Voila en gros c'est de la completion dans une chaine.
J'ai trouvé comment faire pour avoir toujours le meme nombre de caracteres avec un substring
mais a chaque fois il me met le curseur a la fin du text et je veux que le curseur reste à la position ou il était....

voici ce ke jai deja :
function verifbin()
{
var cbin=window.Form1.elements['CodeBin'];
var poscur=document.selection.createRange().duplicate();
cbin.value=cbin.value.substring(0,19);
if (cbin.value.length<19)
{
var taille=cbin.value.length;
for (var i=0;i<19-taille;i++)
{
cbin.value+='x';
}
}

poscur.text="";
}

Jespere ke j'ai été assez clair....et que quelqu'un pourra me répondre parce que franchement le javascript c'est pas ma tasse dethé!!!mais alors vraiment pas...

Merci d'avance!!!

5 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
18 sept. 2006 à 19:48
B

onjour...

J'espère que cette fois ci c'est complet..
CURSEUR dans TEXTAREA


;0)
3
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
28 juil. 2006 à 10:59
B

onjour...

Si cela peut t'aider, mais ne fonctionne que sur FireFox à ma connaissance

//-------------------------------
function PlaceCurseur( div_, pos_){
  var


Obj= document.getElementById( div_);
  if( Obj){
    Obj.focus();
    Obj.setSelectionRange( pos_, pos_);
  }
}



;0)
0
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
28 juil. 2006 à 17:57
PetoleTeam -> Cette méthode fonctionne sur tous les navigateurs sauf IE à ma connaissance. Pour IE c'est un peu plus complique, mais je te bidouille quelque chose qui marche pour IE. Aussi ton script ne fait que placer le curseur pour savoir la position où il se trouve c'est la propriété selectionStart. Voici ma version pour trouver l'index dans un textarea.

function getPosition(div_)
{
var Obj= document.getElementById(div_);
if (typeof Obj.selectionStart != "undefined")
{
return Obj.selectionStart;
}
else
{
Obj.focus();
Range = document.selection.createRange();
RangeText = Range.text;
Range.text = String.fromCharCode(255);
ObjVal = Obj.innerHTML;
FindPos = ObjVal.indexOf(String.fromCharCode(255));
Obj.value = ObjVal.replace(String.fromCharCode(255),RangeText);
return FindPos;
}
}
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
29 juil. 2006 à 10:13
B


onjour...la bidouille comme dit


Arto_8000




...en réponse à...





"...je veux que le curseur reste à la position ou il était...."







je vous livre
//--------------------------------
function PlaceCurseur( div_, pos_){
  var Obj_T;
  var Obj_D = document.getElementById( div_);
  if( Obj_D){
    Obj_D.focus();
    if( typeof Obj_D.selectionStart != "undefined"){ //


tous les navigateurs sauf IE



      Obj_D.setSelectionRange( pos_, pos_);
    }
    else{ // donc il reste IE
      Obj_T = Obj_D.createTextRange();
      with( Obj_T){
        findText(text.charAt(pos_));
        select();
      }
    } 
  }
}
Nota : c'est pas top sous IE le caract en pos_ est selected... mais c'est un début...

Bon c'est l'heure des vacances alors A++++



;0)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
19 sept. 2006 à 10:26
Désolé pour le retard, je me suis perdu dans les abime de l'ASP.NET. En tout cas, Merci à tous!!! Pour ceux qu'on le meme prob que moi allez voir la source qui résume toutes les réponses ici.

Encore merci a tous!

See you later!!
0
Rejoignez-nous