activation d'un champ par rapport à un autre

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : activation d'un champ par rapport à un autre

par pierrot » 03 sept. 2007, 15:50

Merci à vous 2, j'vais utiliser l'astuce de ryle et garder le lien de phil47 sous le coude, on sait jamais. Ca sera pas parfait, mais ca conviendra parfaitement.
Bonne journée

activation de champs

par phil47 » 03 sept. 2007, 14:39

salut peut-être que ce lien peut t'aider, il concerne l'activation d'un champ à partir d'un autre :
http://www.roodali.com/index.php?2007/0 ... deroulante

par Ryle » 03 sept. 2007, 13:47

Nope, les champs hidden ne peuvent pas être sélectionnés par tabulation... :(

Eventuellement ce que tu peux essayer de faire c'est donner le focus au champ juste après l'avoir activé :

Code : Tout sélectionner

document.formulaire.champ.disabled = false; document.formulaire.champ.focus();

par pierrot » 03 sept. 2007, 12:25

merci, effectivement, j'avais mis onblur dans l'attente d'une autre solution. Il y a un petit pb avec onblur : Lorsque je tape 'France' ou que je selectionne 'France' dans ma liste d'autocomplétion, et que j'appuie sur TAB pour passer au champ suivant (qui est le champ departement), l'activation du champ departement marche bien, mais le TAB saute le champ departement. En fait, tab et l'activation du 2eme champ se font en meme tps, et donc du coups je ne peux pas passer du champ pays au champ departement par TAB. (meme avec des tabindex)
Est-ce qu'une solution serait de mettre un input text hidden avec un tabindex compris entre ceux de pays et departement? Du coup, il faudrait appuyer 2 fois sur TAB, mais au moins on conserverait l'ordre pays-->departement. J'ai essayé de mettre ne place cette solution, mais je n'y suis pas arrivé.

par Ryle » 03 sept. 2007, 10:26

Sur un champ de type select, tu peux détecter le changement de valeur avec onChange.
Avec un input de type text, il te faut utiliser onKeyPress (_Up, _Down, etc.) ou onBlur.

Dans le ca de l'autocomplétion tu sélectionnes ta valeur dans un div, donc pas de keypress dans le champ. Il te faut donc soit activer l'autre champ lorsque l'on quitte l'input (onBlur) ou bien modifier ta fonction d'autocomplétion, pour que lorsqu'une valeur est sélectionnée, une fonction soit appellée pour activer ou non ton second champ.

activation d'un champ par rapport à un autre

par pierrot » 03 sept. 2007, 09:23

Bonjour,
J'ai un champ Pays et un champ departement dans mon formulaire. Par défaut, mon champ departement est disabled et il doit s'activer uniquement si mon champ Pays est égal à France...logique.
Dans un 1er tps, mon champ Pays était un Select et là, aucun pb, ma ptite fx javascript de changement d'etat marchait nickel. Mais j'ai voulu remplacer mon select par un champ avec autocompletion (etant donné qu'il y a trop de pays pour faire un select). Et là, ben ma fx javascript ne marche plus.
Ex: on tape 'F' dans le champ Pays, ca affiche une liste 'Fidji, Finlande, France'...mais qd on clique sur France pour selectionner, le champ departement reste disabled.

Si qq'un a une idée...
Merci et bonne journée à tous