Changement de champ automatique

cs_ypichot Messages postés 7 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 16 juin 2005 - 16 juin 2005 à 12:06
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 17 juin 2005 à 08:21
Salut à tous!
Je dois réaliser quelques pages pour un intranet, je me retrouve avec une page où se trouve un formulaire. J'ai deux champs type="text", l'un correspond à une date de début (enfin peut importe) et l'autre à la date de fin bien sûr.
Ma question est la suivante: j'aimerai que lorsque l'utilisateur a fini de saisir la première, le curseur se place automatiquement sur la suivante sans qu'il n'ait besoin d'appuyer sur tab.
Sachant que j'ai définis un size=10 et un maxlenght=10 pour mes champs, de plus le format de mes dates est le suivant : "jj/mm/aaaa".

Si vous avez besoin d'autres renseignements, n'hésitez pas !!

D'avance merci.

Cordialement,

Yoann

14 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
16 juin 2005 à 12:21
Bonjour,
est-ce une bonne idée ?
car pas si simple en fait pour
déterminer quand passer au champ 2 ?
_ on passe du champ 1 au champ 2 quand
10 caractères sont saisis ?
dans ce cas à chaque caractère frappé
(onkeyup) dan la zone => contrôler si sa
longueur (champ.value.length) = 10
et si c'est la cas => champ 2.focus()
_ et si on y revient, pour modifier ?
_ et si la saisie est erronée ?
_ peut-on saisir 1/2/2005 ?
ou 01/02/2005 obligatoire ?
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0
cs_ypichot Messages postés 7 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 16 juin 2005
16 juin 2005 à 13:46
Merci de ta réponse,

je vais quand même essayer de répondre à tes questions:
1)en fait je ne porterai pas de jugement sur le choix de cette solution car au départ je n'avais pas fait comme çà. Mais étant donné que l'utilisateur futur va devoir saisir beaucoup d'informations, ma chef m'a demandé de faire en sorte que çà soit le plus fonctionnel possible et pour elle c'est mieux s'il y a un changement de champ automatique, faut pas chercher....
2)si on revient pour modifier c'est pas grave car çà ne dérange pas du tout que le curseur repasse sur le champ deux. En fait je ne pense pas qu'il faut prendre en compte la modification, le script n'a qu'à se relancern tant pis.
3)la saisie ne pourra pas être erronée puisque le champ est doté d'un masque

Voilà, j'espère avoir pu t'éclairer un peu...
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
16 juin 2005 à 14:43
bon, si on veut, c'est donc
comme j'avais suggéré,
un ch'tit exemple minimaliste :

<form name="frm">

</form>

Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0
cs_ypichot Messages postés 7 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 16 juin 2005
16 juin 2005 à 15:04
Merci encore pour cette réponse mais le code ne marche pas,
j'ai essayé de rajouter document devant frm, toujours rien.
Ensuite j'ai essayé de mettre en place un bout de fonction déclarée entre et et appelée dans le onKeyUp de ch1 mais rien.

Si tu vois pourquoi, n'hésite surtout pas.....
0

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

Posez votre question
cs_ypichot Messages postés 7 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 16 juin 2005
16 juin 2005 à 15:04
Merci encore pour cette réponse mais le code ne marche pas,
j'ai essayé de rajouter document devant frm, toujours rien.
Ensuite j'ai essayé de mettre en place un bout de fonction déclarée entre et et appelée dans le onKeyUp de ch1 mais rien.

Si tu vois pourquoi, n'hésite surtout pas.....
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
16 juin 2005 à 15:10
testé avec Internet explorer :
pas de soucis ==> autre navigateur ?
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
16 juin 2005 à 15:14
Bonjour,
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
16 juin 2005 à 15:16
message trouqué...
avec Mozilla, ça marche aussi.
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0
cs_ypichot Messages postés 7 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 16 juin 2005
16 juin 2005 à 15:35
Non j'utilise internet explorer,

comprend pas alors
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
16 juin 2005 à 15:57
je ne vois que 2 pistes
1_ le script n'est pas tel que je l'ai posté
peut-on voir ?
2_ javascript n'est pas activé

Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0
cs_ypichot Messages postés 7 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 16 juin 2005
16 juin 2005 à 16:21
Voici mon code résumé au nécessaire
La fonction init() me sert pour les masques

<head>
<script language="JavaScript1.2" src="masks.js" type="text/javascript"></script>
</head>

<form method="post" action="li.php" name="lecture">
//select dynamique
<? $conn=mssql_connect($host,$user,$password);
$db=mssql_select_db($bdd,$conn);
$requete="*";
if($result=mssql_query($requete,$conn)){
echo("<select name="limag[]" multiple size="7">");
while($ligne=mssql_fetch_row($result)){
$code=$ligne[0];
echo("<option value="$code">$code</option>");
}
echo("</select>");
}?>

</form>

<script language="JavaScript1.2">
function init(){
oDateMask = new Mask("jj/mm/aaaa", "date");
oDateMask.attach(document.lecture.lidate);
oDateMask.attach(document.lecture.lidebdate);
oDateMask.attach(document.lecture.lifindate);
}</script>

J'espère que tu y comprendra quelque chose...
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
16 juin 2005 à 17:10

onKeyUp à la place de onkeydown
pas sûr qu'il faille enlever le maxlength,
mais comme il ne sert à rien...

Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0
cs_ypichot Messages postés 7 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 16 juin 2005
16 juin 2005 à 17:16
Excuse moi en fait j'avais fait un test avec onKeyDown mais çà ne marche pas non plus avec onKeyUp meme en enlevant le maxlenght
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
17 juin 2005 à 08:21
indispensable de mettre un
script qui ne fonctionne pas,
tel qu'il devrait être, car désolé
de dire ça : chez moi aucun souci,
uniquement en remplaçant la
ligne lidebdate.
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0
Rejoignez-nous