IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Problème balise <select>


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Août 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 29
    Par défaut Problème balise <select>
    J'ai une fenêtre qui se ferme automatiquement lorsqu'elle perd le focus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onBlur="self.close()">
    Dans cette fenêtre, il y a un formulaire avec un champ <select> et des options.

    Voilà mon problème :

    La fermeture de la fenêtre à la perte de focus fonctionne parfaitement, mais lorsque je change l'option sélectionnée dans le <select> (clique sur le <select>, choix d'une autre option puis clique à nouveau), la fenêtre se ferme également alors qu'elle ne devrait pas !

    On dirait que le onChange du SELECT est interprété comme un onBlur par le BODY.

    Savez-vous d'où vient le problème ?


    EDIT : Manquez-vous d'éléments pour me répondre ?

  2. #2
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    C'est simple, le body perd le focus, et c'est le selecte qui le prend... la page se ferme...

  3. #3
    Membre averti
    Inscrit en
    Août 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 29
    Par défaut
    Une solution ?

  4. #4
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Citation Envoyé par Beewiz
    Une solution ?
    Ben non pas vraiment

    Mauvaise méthode, c'est tout

  5. #5
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par Beewiz
    J'ai une fenêtre qui se ferme automatiquement lorsqu'elle perd le focus :
    Pas très user-friendly comme comportement... On n'a pas le droit de lire ses mails tout en consultant ta page web? Tu es contre les OS multi-fenetres? Pour info, FFx ne fermera ta fenetre que si elle a été ouverte par un script, et Opera uniquement si l'utilisateur est d'accord.

    A mon avis, c'est un problème de fond. Pourquoi cherches-tu à avoir un tel comportement?

  6. #6
    Membre averti
    Inscrit en
    Août 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 29
    Par défaut
    En fait, le popup sert à exécuter une commande relative à la page en cours. Le popup propose par exemple de confirmer une action, etc.

    Puisque le popup est en rapport direct avec la page en cours, et uniquement avec cette page, je veux empêcher l'adjonction de ce popup avec une autre page.

    C'est pourquoi je ferme le popup dés que l'utilisateur clique en dehors.

    Une autre solution pourrait peut-être être d'empêcher de sortir le pointeur de la souris du popup...

    Avez-vous une idée ?

  7. #7
    Membre confirmé
    Administrateur de base de données
    Inscrit en
    Juillet 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2006
    Messages : 98
    Par défaut
    Une fenêtre modale pourrait être une bonne solution

    http://javascript.developpez.com/faq...e#FenetreModal

  8. #8
    Membre averti
    Inscrit en
    Août 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 29
    Par défaut
    Effectivement, je ne connaissais pas l'existence de ce genre de fenêtres, mais il s'agit exactement de ce qu'il me faut !

  9. #9
    Membre confirmé
    Administrateur de base de données
    Inscrit en
    Juillet 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2006
    Messages : 98
    Par défaut
    Si tu as été répondu clique sur résolu

  10. #10
    Membre averti
    Inscrit en
    Août 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 29
    Par défaut
    En réalité, un nouveau problème se pose : la fonction showModalDialog() ne fonctionne pas sous Firefox, hors je développe mon site sous celui-ci.

    Quelle est l'alternative pour faire une fenêtre modale sous Firefox ?

  11. #11
    Membre confirmé
    Administrateur de base de données
    Inscrit en
    Juillet 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2006
    Messages : 98
    Par défaut
    http://javascript.about.com/library/blmodal.htm

    The Mozilla based browsers (Netscape 6+, Firefox, etc) use a completely different method to declare that the window that is opened should stay in front . They use the normal window.open and just add an extra attribute modal=yes to the list of atributes that define the appearance of the window (unfortunately it still doesn't actually make it modal it just forces it to stay in front which is the best that you can do with these browsers
    window.open avec l'option modal=yes

    J'espère que ça peut t'aidé.

    Cause : showmodalWindow n'est pas un standart de W3C alors firefox n'aime pas

    a+

  12. #12
    Membre averti
    Inscrit en
    Août 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 29
    Par défaut
    J'ai essayé avec l'attribut 'modal=yes', la fenêtre reste en premier plan mais on peut cliquer sur des liens de la page mère, donc ce n'est pas bon...

    Il faudrait partir de là et empêcher le clic sur la page mère, mais je ne sais pas comment faire !


    EDIT : éventuellement, je voudrais savoir s'il était possible de vérifier si l'utilisateur clique sur un lien de la page mère, et de fermer le popup en conséquence ?

  13. #13
    Membre confirmé
    Administrateur de base de données
    Inscrit en
    Juillet 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2006
    Messages : 98
    Par défaut
    je sais pas la, je suis au travail alors je te reviens la dessus

  14. #14
    Membre averti
    Inscrit en
    Août 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 29
    Par défaut
    OK j'attends de tes nouvelles...

  15. #15
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    je vois une solution de remplacement, dans la page mère : creer une image transparente en position: absolute; taille: (100%, 100%) et zIndex: 10000...

  16. #16
    Membre averti
    Inscrit en
    Août 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 29
    Par défaut
    Tu veux dire une sorte d'info-bulle fixe qui resterait affichée jusqu'à ce qu'on clique en dehors de son cadre ou sur un bouton "fermer".

    Je trouve ça bien mais je ne sais pas faire.

    Un souci est que certaines de mes "popups modales" sont plus grandes que la fenêtre mère !

    Je sais c'est compliqué...

  17. #17
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Ben non, tu ouvres ta fenêtre, tu mets l'image transparent en avant plan et lorsque la fenêtre se ferme, tu enlève l'image...

  18. #18
    Membre averti
    Inscrit en
    Août 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 29
    Par défaut
    Ah oui c'est pas mal çà !

    Est-ce que je peux même mettre une image semi-opaque pour obscurcir légèrement la fenêtre mère et montrer ainsi qu'elle n'est temporairement plus disponible ?

    Sinon tu peux m'expliquer précisément comment faire ?

    EDIT 1 : par contre si on actualise ou qu'on clique sur "précédent" dans la page mère, cela pose problème non ?

    EDIT 2 : si dans le <body> de la page mère je mets un "onLoad:\"popup.close();\" cela fermera le popup dés que je cliquerai sur un lien de la page mère non ?

  19. #19
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Tu peux mettre une image légèrement opaque
    Si on fait un refresh, ca pose problème, en effet...

  20. #20
    Membre averti
    Inscrit en
    Août 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 29
    Par défaut
    Voir le EDIT 2 de mon précédent message.

Discussions similaires

  1. [HTML] Problème balise select vide
    Par mijean dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/04/2007, 13h25
  2. Problème avec la balise <html:select
    Par rawanex dans le forum Struts 1
    Réponses: 5
    Dernier message: 16/04/2007, 13h28
  3. problème balise p & select sous webmatrix
    Par mappy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 15/08/2006, 13h55
  4. Problème d'utilisation select () avant recv sous windows
    Par init dans le forum Développement
    Réponses: 3
    Dernier message: 16/03/2005, 19h36
  5. [struts][JSP][select] problème avec le select
    Par redge_touch dans le forum Struts 1
    Réponses: 4
    Dernier message: 14/01/2004, 10h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo