Impossible de voir le texte qu'on tappe
Impossible de voir le texte qu'on tappe
Bonjour,
J'ai remarqué que lorsque on modifiez un champs de texte celui ci revenez toujours au début. Pas le curseur mais la zone de texte visible.
Ainsi par exemple, si je fais quelque chose du genre
<input type="text" onkeypress="this.value+='Z' "> (c'est stupide comme code mais c'est juste pour l'exemple)
Quand on tappe un mot ou deux tout va bien mais lorsque le texte tappé n'est plus visible dans son integralité il y a ce bug et quand on tappe quelque chose on ne voit pas ce qu'on tappe.
Y a t il un moyen de regler ce problème ?
Merci d'avance
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
J'ai remarqué que lorsque on modifiez un champs de texte celui ci revenez toujours au début. Pas le curseur mais la zone de texte visible.
Ainsi par exemple, si je fais quelque chose du genre
<input type="text" onkeypress="this.value+='Z' "> (c'est stupide comme code mais c'est juste pour l'exemple)
Quand on tappe un mot ou deux tout va bien mais lorsque le texte tappé n'est plus visible dans son integralité il y a ce bug et quand on tappe quelque chose on ne voit pas ce qu'on tappe.
Y a t il un moyen de regler ce problème ?
Merci d'avance
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
Oui, il faut enregistrer la position du curseur avec selectionEnd avant de modifier le contenu, puis remettre le curseur au bon endroit avec setSelectionRange.
Dans IE c'est différent, il faut utiliser caretPos.
Pour un exemple, regarde le code d'insertion des smileys ici même (function emoticon)
Dans IE c'est différent, il faut utiliser caretPos.
Pour un exemple, regarde le code d'insertion des smileys ici même (function emoticon)

♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
Li tens revient, je ne fais riens. ♪
J'ai essayé et j'ai fait le code suivant :
Mais le problème est toujours le même
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
Code : Tout sélectionner
<input type="text" onkeyup="var deb=this.selectionStart; this.value=this.value.toUpperCase(); this.setSelectionRange(deb,deb);" />
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
Oups oui j'ai oublié quelque chose : tu dois faire la même chose avec la valeur scrollTop (l'enregistrer avant et la remettre après).
http://developer.mozilla.org/fr/docs/DO ... .scrollTop
http://developer.mozilla.org/fr/docs/DO ... .scrollTop
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
Li tens revient, je ne fais riens. ♪
Alors maintenant c'est devenu
Mais ça ne marche toujours pas lol
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
Code : Tout sélectionner
<input type="text" onkeyup="var deb=this.selectionEnd; var pos=this.scrollTop; this.value=this.value.toUpperCase(); this.scrollTop=pos; this.setSelectionRange(deb,deb);" />
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
Heu, je crois que c'est parce que j'ai mal lu depuis le début, je pensais que tu parlais d'un champ textarea (à cause du texte qui déborde). Mea culpa 
Alors il est possible qu'il n'y ait pas de solution, à part utiliser une zone plus grande. Essaie quand même avec scrollLeft, puisque le débordement est horizontal et non vertical comme je le pensais. On ne sait jamais.

Alors il est possible qu'il n'y ait pas de solution, à part utiliser une zone plus grande. Essaie quand même avec scrollLeft, puisque le débordement est horizontal et non vertical comme je le pensais. On ne sait jamais.
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
Li tens revient, je ne fais riens. ♪
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 5 invités