Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

focus après le texte saisi

10 réponses
Avatar
Jacques Meunier
Je reposte à la bonne heure et date.

Bonjour à tous ...

Alors voila,
j'ai un input type="text" name="saisie" value="bonjour".

lorsque je mets le focus sur cette zone, pas de problème ...

seulement j'aimerais que le curseur se positionne après le texte déjà saisi
...

C'est possible ?

Merci

10 réponses

Avatar
Olivier Miakinen

Alors voila,
j'ai un input type="text" name="saisie" value="bonjour".

lorsque je mets le focus sur cette zone, pas de problème ...

seulement j'aimerais que le curseur se positionne après le texte déjà saisi
...

C'est possible ?


Je ne crois pas que ce soit possible. En tout cas pas de façon portable
sur tous les navigateurs, même si c'était possible sur l'un d'eux (par
exemple dans IE qui permet beaucoup de contrôles sur des trucs qui sont
normalement inaccessibles au navigateur).

P.-S. 1 : Si ton adresse de From est invalide, tu devrais la suffixer
par « .invalid » au lieu de « .fr ».

P.-S. 2 : Une adresse de Reply-To ne doit pas être invalide. Soit elle
est valide, soit tu n'en mets pas du tout.

P.-S. 3 : Les adresses de From et de Reply-To peuvent être valides
toutes les deux, mais cela ne sert à rien de mettre un Reply-To s'il est
identique au From.

Cordialement,
--
Olivier Miakinen

Avatar
Jacques Meunier
"Olivier Miakinen" <om+ a écrit dans le message de news:
4540edc0$

Alors voila,
j'ai un input type="text" name="saisie" value="bonjour".

lorsque je mets le focus sur cette zone, pas de problème ...

seulement j'aimerais que le curseur se positionne après le texte déjà
saisi
...

C'est possible ?


Je ne crois pas que ce soit possible. En tout cas pas de façon portable
sur tous les navigateurs, même si c'était possible sur l'un d'eux (par
exemple dans IE qui permet beaucoup de contrôles sur des trucs qui sont
normalement inaccessibles au navigateur).

P.-S. 1 : Si ton adresse de From est invalide, tu devrais la suffixer
par « .invalid » au lieu de « .fr ».

P.-S. 2 : Une adresse de Reply-To ne doit pas être invalide. Soit elle
est valide, soit tu n'en mets pas du tout.

P.-S. 3 : Les adresses de From et de Reply-To peuvent être valides
toutes les deux, mais cela ne sert à rien de mettre un Reply-To s'il est
identique au From.

Cordialement,
--
Olivier Miakinen


Merci des conseils ...

Tu as des exemples pour IE ? (c'est pour un intranet)
Jacques


Avatar
Olivier Miakinen

Merci des conseils ...


Bravo et merci pour ta réactivité.

Tu as des exemples pour IE ? (c'est pour un intranet)


Non. Je sais qu'avec IE on peut changer la couleur des barres de
défilement (ascenseurs), alors pourquoi pas rentrer au c½ur des
zones de saisie ? mais je ne sais pas si ceci est possible, même
avec IE.

Avatar
ASM
Merci des conseils ...


Bravo et merci pour ta réactivité.

Tu as des exemples pour IE ? (c'est pour un intranet)


Non. Je sais qu'avec IE on peut changer la couleur des barres de
défilement (ascenseurs), alors pourquoi pas rentrer au c½ur des
zones de saisie ? mais je ne sais pas si ceci est possible, même
avec IE.


Fonctionnel dans mon FF :

<html>
<form onsubmit="return false">
<input name="saisie" value="bonjour">
<button onClick="saisie.focus();saisie.click();">aller à saisie</button>
</form>
</html>

--
ASM


Avatar
Florian Sinatra
*Olivier Miakinen* @ 26/10/2006 19:20 :
Je ne crois pas que ce soit possible.


Pourtant je me souviens qu'on en a parlé ici il y a quelque temps. Et
que IE avait ses méthodes bien à lui, que Mozilla n'avait pas. Une
histoire de createTextRange et de caretPos. Mais peut-être suis-je à
côté de la plaque ?

Avatar
ASM
*Olivier Miakinen* @ 26/10/2006 19:20 :
Je ne crois pas que ce soit possible.


Pourtant je me souviens qu'on en a parlé ici il y a quelque temps. Et
que IE avait ses méthodes bien à lui, que Mozilla n'avait pas. Une
histoire de createTextRange et de caretPos. Mais peut-être suis-je à
côté de la plaque ?


Tu m'as fait peur !
Je croyais avoir mal lu.

Jacques parle d'imput text

Je suppose qu'il veut (totomatikement) aller à cet input insérer le
caret (curseur texte) à la fin de la valeur figurant dans ce champ de texte

La bidouille que j'ai donnée le fait dans mon FF et mon IE et mon Safari
et mon iCab (ne veut pas d'un bouton) et pas mon Opera.

--
ASM


Avatar
Jacques Meunier
"ASM" a écrit dans le message
de news: 45412c9d$0$5089$
*Olivier Miakinen* @ 26/10/2006 19:20 :
Je ne crois pas que ce soit possible.




Jacques parle d'imput text

Je suppose qu'il veut (totomatikement) aller à cet input insérer le caret
(curseur texte) à la fin de la valeur figurant dans ce champ de texte

tout à fait


La bidouille que j'ai donnée le fait dans mon FF et mon IE et mon Safari
et mon iCab (ne veut pas d'un bouton) et pas mon Opera.

Pour moi ca marche dans FF mais pas dans IE (snif !)


Jacques



Avatar
Jacques Meunier
"ASM" a écrit dans le message
de news: 45412c9d$0$5089$
*Olivier Miakinen* @ 26/10/2006 19:20 :
Je ne crois pas que ce soit possible.


Pourtant je me souviens qu'on en a parlé ici il y a quelque temps. Et
que IE avait ses méthodes bien à lui, que Mozilla n'avait pas. Une
histoire de createTextRange et de caretPos. Mais peut-être suis-je à
côté de la plaque ?


Tu m'as fait peur !
Je croyais avoir mal lu.

Jacques parle d'imput text

Je suppose qu'il veut (totomatikement) aller à cet input insérer le caret
(curseur texte) à la fin de la valeur figurant dans ce champ de texte

La bidouille que j'ai donnée le fait dans mon FF et mon IE et mon Safari
et mon iCab (ne veut pas d'un bouton) et pas mon Opera.

--
ASM



J'ai trouvé un script que j'ai "bidouillé" pour obtenir le résultat que je
voulais.
Testé sous FF et IE.
Vous pouvez trouver des améliorations ?
Merci.

<html>
<head>
<title></title>
<script language="javascript">
<!--
function curseur() {
var input = document.forms['formulaire'].elements['saisie'];
var repdeb = document.forms['formulaire'].elements['saisie'].value;
var repfin = "";
document.forms['formulaire'].elements['saisie'].value = "";
input.focus();
/* pour l'Explorer Internet */
if(typeof document.selection != 'undefined') {
/* Insertion du code de formatage */
var range = document.selection.createRange();
var insText = range.text;
range.text = repdeb + insText + repfin;
/* Ajustement de la position du curseur */
range = document.selection.createRange();
if (insText.length == 0) {
range.move('character', -repfin.length);
} else {
range.moveStart('character', repdeb.length + insText.length +
repfin.length);
}
range.select();
}
/* pour navigateurs plus récents basés sur Gecko*/
else if(typeof input.selectionStart != 'undefined')
{
/* Insertion du code de formatage */
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + repdeb + insText + repfin +
input.value.substr(end);
/* Ajustement de la position du curseur */
var pos;
if (insText.length == 0) {
pos = start + repdeb.length;
} else {
pos = start + repdeb.length + insText.length + repfin.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}
/* pour les autres navigateurs */
else
{
/* requête de la position d'insertion */
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos)) {
pos = prompt("Insertion à la position (0.." + input.value.length +
"):", "0");
}
if(pos > input.value.length) {
pos = input.value.length;
}
/* Insertion du code de formatage */
var insText = prompt("Veuillez entrer le texte à formater:");
input.value = input.value.substr(0, pos) + repdeb + insText + repfin +
input.value.substr(pos);
}
}
//-->
</script>
</head>
<body>
<form name="formulaire">
<input type="text" name="saisie" value="bonjour">
<script language="javascript">
curseur()
</script>
</form>
</body>
</html>


Jacques



Avatar
ASM
"ASM" a écrit dans le message
de news: 45412c9d$0$5089$
Je suppose qu'il veut (totomatikement) aller à cet input insérer le caret
(curseur texte) à la fin de la valeur figurant dans ce champ de texte

La bidouille que j'ai donnée le fait dans mon FF et mon IE et mon Safari
et mon iCab (ne veut pas d'un bouton) et pas mon Opera.


J'ai trouvé un script que j'ai "bidouillé" pour obtenir le résultat que je
voulais.
Testé sous FF et IE.
Vous pouvez trouver des améliorations ?


Je l'ai pas essayée(*), le visiteur saura bien y aller tout seul.

Y veut quand même pas qu'on lui remplisse le formulaire pour lui ?

Non mais ! Ha la la ! ces assistés !

Merci.




(*) si bien sûr ! j'ai pas résisté :
- FF : curseur en fin d'input
- iCab : envoie tout les prompts qu'on se demande c'qu'y veut ?
comme je suis bête j'ai clické OK à tout ce qu'il a voulu
hop! pas de curseur ! na !
Ouf ! j'ai échappé au champ vide.
- IE : gueule à l'erreur ==> document.selection not an object
var range = document.selection.createRange();
- Opera 9 : j'en reviens pô !
mais des fois il y arrive ?
curseur en fin d'input sans plainte
- Safari : curseur en fin d'input

Peut mieux faire ?


Avatar
Jacques Meunier
"ASM" a écrit dans le message
de news: 45427f47$0$27396$
"ASM" a écrit dans le
message de news: 45412c9d$0$5089$
Je suppose qu'il veut (totomatikement) aller à cet input insérer le
caret (curseur texte) à la fin de la valeur figurant dans ce champ de
texte

La bidouille que j'ai donnée le fait dans mon FF et mon IE et mon Safari
et mon iCab (ne veut pas d'un bouton) et pas mon Opera.


J'ai trouvé un script que j'ai "bidouillé" pour obtenir le résultat que
je voulais.
Testé sous FF et IE.
Vous pouvez trouver des améliorations ?


Je l'ai pas essayée(*), le visiteur saura bien y aller tout seul.

Y veut quand même pas qu'on lui remplisse le formulaire pour lui ?

Non mais ! Ha la la ! ces assistés !

Merci.




(*) si bien sûr ! j'ai pas résisté :
- FF : curseur en fin d'input
- iCab : envoie tout les prompts qu'on se demande c'qu'y veut ?
comme je suis bête j'ai clické OK à tout ce qu'il a voulu
hop! pas de curseur ! na !
Ouf ! j'ai échappé au champ vide.
- IE : gueule à l'erreur ==> document.selection not an object
var range = document.selection.createRange();
- Opera 9 : j'en reviens pô !
mais des fois il y arrive ?
curseur en fin d'input sans plainte
- Safari : curseur en fin d'input

Peut mieux faire ?



J'ai testé sous IE 6.0 et ca fonctionne