Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1241 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Position du cuseur dans un input type="text"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Position du cuseur dans un input type="text"

n°444663
Mara's dad
Yes I can !
Posté le 30-06-2003 à 21:56:03  profilanswer
 

Bonjour,
 
J'ai beaucoup cherché, et je ne sais pas comment faire :(  
 
J'ai un champs de formulaire :
 

<input type="text" id="edit" size="80" onKeyUp="touche();">


 
J'aimerais bien savoir comment je peut récupérer la position du curseur (caret) dans le champs texte. En fait ce que je voudrais savoir c'est s'il est au Début ou à la Fin de la chaîne. (Dans touche(), je voudrais pouvoir faire une action particulière si la flèche Droite est appuyée alors que le curseur est en fin de chaîne ou au Début pour la flèche Gauche.)
J'ai cherché un évenement qui correspondrait à çà, mais çà n'a pas l'air d'exister...
 
Précision : je fais du Javascript 'Spécifique' IE 5.5 +
 
D'autre part, quand une partie du texte (au milieu) du champs est sélectionné par l'utilisateur, je récupère la sélection avec la propriété text de document.selection.createRange().
Je connais aussi le contenu du champs, edit.value.
Je voudrais pouvoir récupérer dans des variables le début du champs non sélectionné, et pareil pour la fin.
Pour le moment, je m'en sort avec un bricolage du genre.
Remplacer le texte sélectionné par un TAG à moi ('¤µ¤' par exemple) et en faisant une recherche de la position du TAG dans edit.value. Ca marche bien, mais je trouve çà lourd :(
 
Si vous avez des idées ? ? ?
 
Merci.
Mara's dad


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
mood
Publicité
Posté le 30-06-2003 à 21:56:03  profilanswer
 

n°444785
Mara's dad
Yes I can !
Posté le 01-07-2003 à 02:48:32  profilanswer
 

Bon, j'ai trouvé la réponse pour la position du curseur :
 
// Récupération de la position actuelle du curseur
actuelPos = document.selection.createRange();
 
// Création d'un curseur Virtuel (edit, c'est mon champs de saisie)
testPos = edit.createTextRange();
 
// Test de la position.
if( testPos.boundingLeft == actuelPos.boundingLeft )
 
Pour la position à droite, il faut déplacer le curseur virtuel avant le test:
testPos.collapse(false);
 
Je pense que pour la sélection, çà va être du même genre...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°525780
teuteu
Posté le 29-09-2003 à 16:26:00  profilanswer
 

J'ai une question à ce propos, le "document.selection.createRange(); " ne fonctionne que lorsque l'on a sélectionné une partie du texte, comment fait ton pour récupérer la position du curseur si rien n'est selectionné (mais le curseur se trouve bien dans le champ) ?
 
merci d'avance,
 
           Etienne

n°526580
teuteu
Posté le 30-09-2003 à 08:45:16  profilanswer
 

erratum : en fait cette fonction marche même s'il n'y a pas de texte selectionné ! Un pasteHTML permet donc d'ajouter ce que l'on veut au niveau du curseur !
 :wahoo:  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Position du cuseur dans un input type="text"

 

Sujets relatifs
[VB6] PB avec un filter de type 'like'convertir les url dans un text
Position d'un lien dans une pageHTML : input type=file et valeur par défaut
[MSSQL] Générer des scripts sql de type insert[xhtml+js]l'attribut type à la balise script ( - Job's Done - )
Pour les Pro du HTML : Input type = Image[Visual C++] Definir le texte d'un "static text" control
type de relation 
Plus de sujets relatifs à : Position du cuseur dans un input type="text"


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR