Page 1 sur 1

Récupérer le focus dans un formulaire

Posté : 19 févr. 2007, 20:11
par bravegars
Salut,

J'ai un petit problème avec mon formulaire. Le formulaire appele l'objet XMLHttpRequest lorsque je clique sur le bouton Submit. Et du coup je perd le focus. Comment faire pour récupérer le focus dans le champ texte apres l'envoi du formulaire ? J'ai essayé d'ajouter une ligne de code au script javascript mais ça ne fonctionne pas.

Code : Tout sélectionner

document.formulaire.mesinfos.focus();
Je sais utiliser onLoad mais celui ci ne permet pas de conserver le focus dans le champ text.

Posté : 20 févr. 2007, 12:25
par Ryle
bah si tu cliques sur un bouton, c'est normal que ce soit lui qui prenne le focus :) Ton instruction pour le rendre au champ est bonne si le nom de ton formulaire est "formulaire" et que ton champ s'appelle bien "mesinfos".

Quant à l'appel il suffit de le faire après l'action induite par le clique sur le bouton, ou simplement à la récupération du résultat renvoyé par le XMLHttpRequest :)

Posté : 20 févr. 2007, 18:43
par bravegars
Merci Ryle ça marche. Je n'avais pas mis la ligne dans la fonction.

C'est presque parfait, il me reste un problème. Je veux également que lorsque j'appuie sur la touche enter du clavier, celle ci provoque un reset sur le champ texte tout en conservant le focus.

Mais pour l'instant j'ai pas trouvé de solution. J'ai essayé ce qui suit. Je conserve le focus dans tous les cas maintenant. Sauf que je voudrais que le champ texte s'efface aussi lorsqu'on valide le formulaire avec la touche enter du clavier.

Code : Tout sélectionner

xhr.open('POST', 'traitement.php', true); xhr.onreadystate........... xhr.send(null); onSubmit=document.formulaire.mesinfos.focus();

Posté : 20 févr. 2007, 18:57
par Ryle

Code : Tout sélectionner

document.formulaire.mesinfos.value = '';
;)

Ce que tu peux faire, c'est sur le onSubmit appeller une fonction dans laquelle tu enchaineras vidage du champ et focus :)

Posté : 20 févr. 2007, 19:13
par Invité
Au poil. Je regrette juste de pas y avoir penser tout seul. Je cherchais un truc compliquer alors que c'était tellement simple. :lol:

Merci encore Ryle.

Posté : 20 févr. 2007, 19:15
par bravegars
Au poil. Je regrette juste de pas y avoir penser tout seul. Je cherchais un truc compliqué alors que c'était tellement simple.

Merci encore Ryle. Euh oui c'était moi l'invité... :lol:

Posté : 20 févr. 2007, 19:20
par albat
Il n'est pas nécessaire de répéter les compliments destinés à Ryle.

Ce n'est qu'un oiseau... :twisted: :lol: