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 :

Gestion des fenêtres


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 112
    Points : 55
    Points
    55
    Par défaut Gestion des fenêtres
    Bonjour,

    Sur une page j'ai un lien sur image qui ouvre une petite fenêtre avec un calendreier asp.
    Comme mon calendrier renvoi une valeur vers le formulaire de la page de départ, je ne peux pas le mettre dans une fenêtre modale.
    Donc si je clique sur la page principale et non sur le calendrier, ce dernier passe en arrière plan (normal)

    Ma question (enfin)
    Dans ce cas comment faire si je click de nouveau sur l'image calendrier, pour tester si la fenêtre calendier n'est pas déja ouverte en arrière plan et le cas ou la faire repasser au premier plan ?

    C'est sans doute un pb tout con mais débutant en javascript c'est le genre de truc qui bloque.

    Merci.

  2. #2
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var g_calendar = null;
    [... sur le clic image ...]
    if ( ! g_calendar || g_calendar.closed ) {
        g_calendar = window.open( "calendrier.htm"  );	
    }
    else {
        g_calendar.focus();
    }

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 112
    Points : 55
    Points
    55
    Par défaut
    Bjr Herode,
    et merci de ton aide.

    Comme je le dis plus haut je suis une quiche en javascript donc peux tu me donner 2 ou 3 précisions.
    Je vois pas bien ou mettre ce code:
    var g_calendar = null; dans le body et le reste dans le head ?
    Je comprends pas comment on peu mettre le focus sur le calendrier sans le nommer (le else).

  4. #4
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    g_calendar doit fonctionner comme une variable globale, de manière à garder sa valeur entre les différents appels à la fonction showCalendar() (ou quelque autre nom que tu lui aies donné).

    Une très bonne idée serait de stocker cette variable dans le prototype de la fonction. Mais si tu débutes en javascript, ou pour les petits bouts de code ne demandant pas de grandes précautions au niveau architecture, tu pourrais préferer (provisoirement ) la stocker comme une variable globale "normale". Il suffit en ce cas de la déclarer (et de l'initialiser) en dehors d'une fonction. Soit dans le fichier .js que tu utilises, soit à l'intérieur d'une balise <script>, traditionnellement placée dans le <head> de ta page HTML.

    En ce qui concerne la gestion du focus : quand tu écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var fenetre = window.open(...)
    tu stockes dans la variable fenêtre un pointeur sur la fenêtre nouvellement créée. C'est ce pointeur que tu utilises par la suite pour appeler des fonctions dessus. Tu peux aussi nommer la fenêtre et l'appeler par son nom si tu le souhaites.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 112
    Points : 55
    Points
    55
    Par défaut
    Super clair !
    Nickel, ça c'est une explication
    et j'ai pigé

    Je te remercie beaucoup pour ton aide.

Discussions similaires

  1. Gestion des fenêtre
    Par diFaenza dans le forum Mandriva / Mageia
    Réponses: 2
    Dernier message: 15/08/2007, 09h30
  2. [AWT] Gestion des fenêtres
    Par saih_tam dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 02/04/2007, 22h15
  3. Gestion des fenêtres avec les menus
    Par Death83 dans le forum C++Builder
    Réponses: 23
    Dernier message: 15/12/2006, 10h22
  4. [DELPHI6] et gestion des fenêtres windows
    Par Desraux dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 27/03/2006, 16h47

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