begin process at 2010 02 10 14:17:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

Débutants

 > 

Wait Dialog - DIV - Problème d'affichage (Z-Order)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Wait Dialog - DIV - Problème d'affichage (Z-Order)

mercredi 3 mai 2006 à 11:07:02 | Wait Dialog - DIV - Problème d'affichage (Z-Order)

asgarden

Bonjour à tous,

J'ai une petite question concernant l'affichage des <DIV>.

J'ai, dans mon application Web, une "fenêtre d'attente" (Wait Dialog) composé d'une <DIV>, et affichée lorsque l'utilisateur clique sur un lien entrainant une action un peu longue, afin de le faire patienter et surtout de le prévenir que l'opération est en cours.

Cette application Web comporte pas mal de formulaires, composés eux-même de plusieurs champs, dont des ListBox (<select>).
Systématiquement, ma fenêtre d'attente s'affiche SOUS ces boites de liste. D'après ce que j'ai pu comprendre le problème viendrait des navigateurs eux-même...? Mais ça me parait tout de même trés bizarre.

J'ai fais plusieurs tests, mais systématiquement, mes <DIV> s'affichent sous ces champs <select>.
J'ai beau modifier les "z-order", rien à faire. J'ai évidemment parcouru pas mal de forum sans trouver ma réponse. Peut être ai-je mal cherché...

J'ai vu que des sites comme JavaScriptFR.com, par exemple, utilisaient de telles <DIV>, notamment pour le menu principal du site, ou encore la fenêtre de "Connexion au compte". J'ai également remarqué qu'avant d'afficher ce menu, l'unique boite de liste de la page était masquée, afin évidemment de palier au problème de superposition.
Evidemment lorsqu'on a qu'une boite de liste, c'est pas bien compliqué, mais lorsqu'on en a plusieurs, et qu'on ignore leur nombre et leur nom ?

J'ai également remarqué que toutes les boites de listes du site JavascriptFR.com n'étaient pas prise en charge par cette fonctionnalité de masquage. Par exemple au moment même ou je vous écris, si j'affiche une <DIV> du menu principal (sur la gauche), celle-ci viendra se positionner sous les boites de liste de ma zone de composition du présent message (Style de police, nom de police, taille de police, couleur de la police,thème du forum.

Je suppose que la solution se trouve dans le masquage des boites de listes posant problème.

Alors deux questions :

- Est-il possible d'implémenter une routine générique permettant de lister toutes les boites de liste (<select>) d'une page Web ? Afin de pouvoir les masquer et éventuellement démasquer après affichage de la DIV.

- Existe-t-il une autre solution ? Je m'oriente vers le masquage des boites de liste, parce que je pars du principe que c'est une anomalie du navigateur, à contourner. Mais si ça se trouve l'erreur viens de moi, ou il existe peut être une autre astuce pour palier au problème.

Enfin juste une dernière question optionnelle :
Quelqu'un sait-il exactement pourquoi ce problème se produit ? Pourquoi seules les boites de listes semblent concernée ? Pourquoi par d'autres champs comme les Textbox, les champs de choix de fichier, boutons etc...?

Merci d'avance de vos réponses.
Cordialement.
Cedric.
mercredi 3 mai 2006 à 12:35:00 | Re : Wait Dialog - DIV - Problème d'affichage (Z-Order)

bultez

Membre Club
Réponse acceptée !
bonjour,
>>ma fenêtre d'attente s'affiche SOUS ces boites de liste
   "bug connu" du survol des select par un div avec IE,
         quoiqu'on fasse le select reste au 1er plan.
   des paliatifs : 
         ° cacher les select
         ° mettre un iframe au lieu d'un div
         ° ... ??? ...
Cordialement      Bul.   site.gif
Site
mercredi 3 mai 2006 à 12:37:37 | Re : Wait Dialog - DIV - Problème d'affichage (Z-Order)

bultez

Membre Club
Réponse acceptée !
j'ai oublié :
      ° remplacer les select par un div !
         ( j'ai mis un exemple sur ce site : VESPA )
Cordialement.      Bul.   site.gifSite
mercredi 3 mai 2006 à 13:05:34 | Re : Wait Dialog - DIV - Problème d'affichage (Z-Order)

asgarden

Merci pour ta réponse.

Donc cette histoire de survol des SELECT par une DIV est un bug connu de IE ?
Ben à priori Microsoft ne doit pas vraiment être au courant, ou n'en a rien a cirer, car sauf erreur de ma part ce n'est pas la première version de IE qui est sujette à ce problème...?

Effectivement je confirme que sous FireFox le problème n'apparait pas.
(malheureusement le site est optimisé pour IE... On n'a pas toujours le choix)

Concernant les solutions proposées, ce sont effectivement 3 solutions qui me semblent réalisable, et viable.
Cacher les SELECT :
C'est vers cette solution que je comptais me tourner (avant d'en avoir d'autres...).
Mais encore faut-il être capable de récupérer tous les SELECT de la page, afin de les cacher, puis d'éventuellement les afficher à nouveau si besoin. Ca mérite réflexion, mais je suppose qu'avec des fonctions JS du style "selectByTagName()" cela doit être envisageable.

Remplacer les DIV par des IFRAME :
Je ne serais pas contre MAIS... Je connais assez peu les IFRAME.
Idée fausse ou pas, j'ai toujours pensé que les IFRAME étaient trés liées à IE. Et comme j'évite autant que possible de rendre mes sites trop dépendants du navigateur utilisé, j'ai souvent mis les IFRAME de côté (et pourtant cela à l'air trés interessant).
Quoiqu'il en soit, je testerais également cette solution, ou du moins je tenterai de la tester

Remplacer les SELECT par un DIV :
Je ne suis pas certain d'avoir tout compris, mais cela revient à refaire un composant DHTML simulant / remplaçant les boites de liste ? C'est bien ça. L'idée est interessante, mais je n'ai malheureusement pas le temps de la mettre en oeuvre pour le moment.
Mais j'ai fais un saut sur ton site, et j'ai vu de quoi tu parlais. Ca me parait prometteur, mais y'a encore un sacré boulot.

Voila pour conclure, je vais m'orienter vers ta première solution, à savoir un masquage des SELECT.
Je vais chercher du côté des "selectByTagName()". Si quelqu'un à des idées intelligente pour mettre en oeuvre ce script, je suis preneur.

En tout cas merci pour tes réponses Bultez.

Cordialement,
Cedric.
mercredi 3 mai 2006 à 13:21:18 | Re : Wait Dialog - DIV - Problème d'affichage (Z-Order)

bultez

Membre Club
Réponse acceptée !




>>Cacher les SELECT 
   je pense que c'est la moins "simple" des solutions...
   ( car, par exemple, quand les réafficher ? .... )
   je ne dirais pas la moins bonne, question de goût avant tout.
>>Remplacer les DIV par des IFRAME :
   les IFRAME étaient trés liées à IE
   pas du tout, et là ça baigne directement.
>>Remplacer les SELECT par un DIV
   >>refaire un composant DHTML simulant / remplaçant les boites de liste ?
   oui.
   >>je n'ai malheureusement pas le temps
   on ne peut rien y faire alors.

>>à priori Microsoft ne doit pas vraiment être au courant,
   si, si, bien entendu, mais...d'autres priorités ?
>>Effectivement je confirme que sous FireFox...
    oui, ça, ça marche,
    mais d'autres bugs existent avec ce navigateur ! 
    et non rectifiés depuis longtemps ! 
    mais peut-être ne savent-ils pas ?

cordialement      Bul.   site.gif
Site
mercredi 3 mai 2006 à 13:33:30 | Re : Wait Dialog - DIV - Problème d'affichage (Z-Order)

asgarden

Re Bultez,

Si les IFRAME sont supportées par FireFox (puisque c'est le second navigateur le plus populaire, je me dois de ne pas l'ignorer), je pense que je vais m'orienter vers cette solution.

Tu as raison, le masquage des SELECT n'est pas forcément la solution la plus facile. Et surtout la plus rapide en terme de développement. Il faudrait conserver un tableau de tous ces SELECT, ainsi que leur état initial, etc. C'est réalisable, mais vu que le temps m'est compté, je vais probablement m'orienté vers la solution des IFRAME, en espérant qu'il n'y ait pas trop de problème de compatibilité.

Encore merci pour tes informations,
A bientot.

Cordialement,
Cedric.



Cette discussion est classée dans : problème, liste, champs, affichage, boites


Répondre à ce message

Sujets en rapport avec ce message

Liste déroulante et affichage [ par sylvainm58 ] Bonjour,Je suis étudiant et je débute en javascript.Je développe en php/mysql. J'ai une liste déroulante qui est alimenté par une table personne et j' Confirmation du formulaire [ par Netlink ] Salut à tous,Je rencontre un problème pour faire ceci :J'ai mon formulaire de base (page inscription.shtml) :blablablablaDonc une f Affichage de zone de texte sur changement d'une liste [ par twiems ] Twiems:PEn effet g un petit prob car je souhaite que lorsqu'on choisit qq chose dans une zone de liste cela affiche automatiquement plusieurs zone de Problème affichage grille de nombre [ par Tomcube ] voilà, j'ai fait un petit script d'affichage dynamique de 49 nombres en images générés grâce à un script PHP.Le problème, c'est que je voudrais que ce Problème Liste Déroulante. [ par BenXbox ] J'Ai Deux Liste Déroulante Et Je Voudrais Que Sa Fasse Sa :1 : Pour Le Choix Du Format exemple : dvd - k7 vidéo - vcd 2 : Affiche Juste Les Infos Par PB Liste déroulante [ par iomega ] Bonjour à tous je voudrai savoir si quelqu'un pourrait m'aider à résoudre ce problème!!j'ai une liste déroulante qui est remplie d'après une table mys problème affichage info bulle [ par _lolo ] Bonjour,Voilà j'ai récupéré un p'tit script pour faire de belles infos bulles :)Malheureusement les infos bulles qui apparaissent dans le menu droit d creer un bon de commande [ par voidmain ] Bonjour Je souhaiterais creer un formulaire "bon de commande" à remplir en ligne avec :des champs textes pour inscrire son nom etc..des champs liste m Problème d'affichage en HTML [ par mouniersophie ] Bonjour a tous,je débute dans cette programmation et j'essaye d'afficher un texte suivie d'une image à un certain endroit de ma page comme suit :CP</D problème de validation de champs de formulaire [ par CHABRY ] Afin de contrôler les champs de mon formulaire, j'ai inséré une fonction qui  teste caractère par caractère pour vérifier si


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales