[IE]Champ de formulaire qui refuse de garder le focus
Champ de formulaire qui refuse de garder le focus [IE] - HTML/CSS - Programmation
MarshPosté le 16-06-2008 à 18:05:00
Salut
A l'écran, j'ai 2 groupes de champ de formulaire (input, select et 1 radio par groupe). Seulement 1 de ces 2 groupes doit être actif, les radio servant à activer un groupe ou l'autre. Au chargement de la page, ne sachant pas quel groupe l'utilisateur va choisir, les 2 sont actifs. Lorsque l'utilisateur sélectionne un des champs de formulaire d'un groupe (ou le radio qui permet de sélectionner le groupe), je désactive le groupe auquel le champs (ou le radio) n'appartient pas. Jusque là, rien de bien sorcier, tout fonctionne.
Là où sa merde, c'est que IE refuse alors obstinément de laisser le focus aux champs du groupe actifs, surtout aux inputs (il faut néanmoins un double-clique pour obtenir le focus sur les select, au lieu d'un clique simple ou d'un appuis sur la touche tab).
J'ai beau essayer de forcer l'obtention du focus à l'aide de la fonction focus() mais le champs le perd aussitôt (j'ai également essayer de poser un événement onblur=this.focus mais ça ne fait que bouffer les ressource CPU et bloquer IE).
Concernant le code JS, c'est l'objet Ice qui définit le comportement de la page. Il n'y a rien de bien sorcier, il s'agit d'instancier un objet Ice dans chaque div contenant les champs de formulaire et de poser un évènement sur le focus des champs permettant d'activer ou désactiver les groupes de champs. L'objet EcmaScript sert simplement a stocker des fonctions que je peux ensuite ajouter à divers objet afin de me faciliter la programmation. Il ne joue aucun rôle direct dans le fonctionnement de la page et peut-être ignoré.
Voilà, je penses que vous en savez a peu prêt autant que moi. Si vous avez une idée d'où peut provenir ce bug (voir s'il peut-être corrigé), je suis preneur. Pour ma part, je patauge.
Merci ^^
--------------- Je pense donc tu suis. Crois moi, je suis zététicien.
Marsh Posté le 16-06-2008 à 18:05:00
Salut
A l'écran, j'ai 2 groupes de champ de formulaire (input, select et 1 radio par groupe). Seulement 1 de ces 2 groupes doit être actif, les radio servant à activer un groupe ou l'autre.
Au chargement de la page, ne sachant pas quel groupe l'utilisateur va choisir, les 2 sont actifs. Lorsque l'utilisateur sélectionne un des champs de formulaire d'un groupe (ou le radio qui permet de sélectionner le groupe), je désactive le groupe auquel le champs (ou le radio) n'appartient pas.
Jusque là, rien de bien sorcier, tout fonctionne.
Là où sa merde, c'est que IE refuse alors obstinément de laisser le focus aux champs du groupe actifs, surtout aux inputs (il faut néanmoins un double-clique pour obtenir le focus sur les select, au lieu d'un clique simple ou d'un appuis sur la touche tab).
J'ai beau essayer de forcer l'obtention du focus à l'aide de la fonction focus() mais le champs le perd aussitôt (j'ai également essayer de poser un événement onblur=this.focus mais ça ne fait que bouffer les ressource CPU et bloquer IE).
J'ai fait une petite page qui illustre le problème (conçus exclusivement pour IE, afin de simplifier le code) :
http://macintoc1.free.fr/bugIEFocus.html
Concernant le code JS, c'est l'objet Ice qui définit le comportement de la page. Il n'y a rien de bien sorcier, il s'agit d'instancier un objet Ice dans chaque div contenant les champs de formulaire et de poser un évènement sur le focus des champs permettant d'activer ou désactiver les groupes de champs.
L'objet EcmaScript sert simplement a stocker des fonctions que je peux ensuite ajouter à divers objet afin de me faciliter la programmation. Il ne joue aucun rôle direct dans le fonctionnement de la page et peut-être ignoré.
Voilà, je penses que vous en savez a peu prêt autant que moi. Si vous avez une idée d'où peut provenir ce bug (voir s'il peut-être corrigé), je suis preneur. Pour ma part, je patauge.
Merci ^^
---------------
Je pense donc tu suis. Crois moi, je suis zététicien.