Donner le focus à un champ ...

Répondre
yearling
le 06/04/2008 à 15:51
yearling
Bonjour à tous,

en fait, j'aimerais pouvoir redonner le focus à un champ après avoir appelé une popup.

En fait, j'ai un textbox et une image sur mon formulaire. Quand l'utilisateur clique sur l'image, j'ai une fenêtre avec un calendrier qui s'ouvre. L'utilisateur clique sur une date. La date est donc recopiée dans la textbox de mon formulaire et la fenêtre du calendrier est fermée.

J'aimerais donc que, quand je reviens sur mon formulaire, que mon textbox reçoive le focus.

Est-ce possible ?

Merci d'avance

Thierry
diablo
le 06/04/2008 à 18:12
diablo
heu ... self.focus() ?
.:[ UTB ]:. Diablo xo0 Au royaume des aveugles, les bornes sont rois...
yearling
le 06/04/2008 à 18:43
yearling
Bonjour Diablo,

je tiens à te remercier pour ta réponse rapide à mon message.

Cependant, je pense que ta réponse ne répond pas à ma question.

En fait, quand je clique sur l'image pour ouvrir unr nouvelle fenêtre avec le calendrier, je perds le focus de l'image sur laquelle j'ai cliqué. Le navigateur remonte tout au-dessus de la page. Quand je sélectionne une date dans le calendrier, le champ du formulaire est rempli avec cette valeur et la fenêtre du calendrier est fermée. Par contre, le champ dans lequel la date a été copiée n'est plus visible à l'écran vu que le navigateur a fait remonter la page jusqu'au début. Donc, dans mon cas, j'aimerais que le champ dans lequel la date est copiée reçoive le focus quand la fenêtre avec le calendrier est fermée.

Merci d'avance

Thierry
diablo
le 07/04/2008 à 00:16
diablo
Je crois qu'il y a petit confusion: un champ ayant le focus n'est pas forcément visible à l'écran.

D'après ce que j'ai compris, tu voudrais que le navigateur déroule la page jusqu'au champ (contenant la date) et ayant donc recu le focus.

En tenant compte des différentes résolutions d'écran et autres soucis de configuration. Je ne pense pas que ce soit directement faisable en JS.

Par contre, tu peux créer une ancre htm genre #date, qui sera située juste au-dessus du champ contenant la date, et qui te servira de repère.

A ce moment là, c'est plus le code appelant la fenêtre du calendrier qu'il faudra modifier, ou même le bouton appelant l'affichage du calendrier (heu, tu me suis ?).

J'imagine que tu as un truc du genre

<a onclick="javascript:showCalendar()">Afficher le calendrier</a>

tu peux faire un truc du genre

<a href="#date" onclick="javascript:showCalendar()">Afficher le calendrier</a>

Mais je ne suis pas sur que ce code fonctionne :p, faudrait aussi voir le code que tu appelles pour fermer la fenêtre du calendrier.

Il est aussi possible qu'il existe un facon plus simple de faire :p mais je pense que la solution se situe du côté des ancres html.

++
.:[ UTB ]:. Diablo xo0 Au royaume des aveugles, les bornes sont rois...
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours