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 :

Fenetre modal : open & showModalDialog


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 108
    Par défaut Fenetre modal : open & showModalDialog
    Bonjour.

    J'ai besoin de lancer une pop-up en mode modal et d'en récupérer des informations qui seront affectées à des champs dans la fenetre appelante.

    * Le showModalDialog m'a permis d'avoir une popup en mode modal mais les champs de la fenetre appelante ne sont pas accessibles :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.showModalDialog(page,winName,'dialogWidth:800px;dialogHeight:600px;center:1;scroll:0;help:0;status:0');
    Quand j'accède à un champ dans la fenetre appelante, j'ai un message d'erreur me disant que ce champ n'existe pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write("<body><script>window.opener.document.getElementById('ChkSexeM').checked='true';</script></body>");
    * Une option existe dans window.open : modal = yes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.open(page,'name','height=600,width=800,toolbar=no,directories=no,status=no, menubar=no,scrollbars=no,resizable=no ,modal=yes');
    Aucun message d'erreur, les champs de la fenetre appelante sont bien accessibles mais le problème est que je ne suis pas en mode modal : je peux placer ma souris sur la fenetre appelante sans fermer le pop-up!

    Que me conseillez vous de faire afin d'avoir une fenetre modale et d'accéder et modifier les champs de la fenetre appelante ?

    En vous remerciant.

  2. #2
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Par défaut
    Moi je te conseillerais de laisser tomber les poup modales.

    C'est pas géré de la meme facon sous IE et sous Firefox, ça pose differents problemes.

    A la place tu peux faire ça :

    - afficher un DIV sur toute la surface du navigateur, par dessus la page, en le positionnant en absolu : x=0, y=0, z-order=0
    - afficher un DIV par dessus encore celui-ci, mais plus petit et dans lequel tu met tes controles de ta popup

    Comme ça :
    1/ tu n'ouvres pas de popup => pas de blocage de popup ou autre
    2/ avec le DIV affiché sur tout l'ecran (eventuellemnt semi-transparent) tu bloque les actions de l'utilisateur sur la page => comme si la popup etait modale
    3/ ta fausse popup fait partie de ta meme page => pas de souci pour communiquer des parametres dans un sens ou l'autre.

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/05/2011, 18h11
  2. Réponses: 4
    Dernier message: 24/11/2005, 09h34
  3. Fenetre modale | Des threads en javascript ?
    Par siddh dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/11/2005, 12h06
  4. Comment fermer une Fenetre Modal avec Code ?
    Par Soulama dans le forum Langage
    Réponses: 19
    Dernier message: 13/07/2005, 11h17
  5. Touche "Entrée" et fenetre modale
    Par pascalT dans le forum Composants VCL
    Réponses: 5
    Dernier message: 21/07/2004, 16h57

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