Position curseur dans textbox [Résolu]

Coolpix08 150 Messages postés dimanche 14 mars 2004Date d'inscription 21 décembre 2007 Dernière intervention - 27 juil. 2006 à 18:14 - Dernière réponse : Coolpix08 150 Messages postés dimanche 14 mars 2004Date d'inscription 21 décembre 2007 Dernière intervention
- 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!!!
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
PetoleTeam 3435 Messages postés lundi 26 décembre 2005Date d'inscription 14 janvier 2011 Dernière intervention - 18 sept. 2006 à 19:48
3
Merci
B

onjour...

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


;0)

Merci PetoleTeam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de PetoleTeam
PetoleTeam 3435 Messages postés lundi 26 décembre 2005Date d'inscription 14 janvier 2011 Dernière intervention - 28 juil. 2006 à 10:59
0
Merci
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)
Commenter la réponse de PetoleTeam
Arto_8000 1051 Messages postés lundi 7 mars 2005Date d'inscription 13 juillet 2010 Dernière intervention - 28 juil. 2006 à 17:57
0
Merci
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;
}
}
Commenter la réponse de Arto_8000
PetoleTeam 3435 Messages postés lundi 26 décembre 2005Date d'inscription 14 janvier 2011 Dernière intervention - 29 juil. 2006 à 10:13
0
Merci
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)
Commenter la réponse de PetoleTeam
Coolpix08 150 Messages postés dimanche 14 mars 2004Date d'inscription 21 décembre 2007 Dernière intervention - 19 sept. 2006 à 10:26
0
Merci
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!!
Commenter la réponse de Coolpix08

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.