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 :

Appel fonction et popup sous Firefox


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut Appel fonction et popup sous Firefox
    Bonjour,

    Dans une page j'ai un champ texte et un bouton qui ouvre un calendrier en popup.
    Quand je clique sur une date du calendrier, le popup remplis le champ texte de la fenêtre principale et se ferme.
    J'ai besoin de détecter que la valeur du champ texte est modifiée mais l'évènement on change n'est pas généré.
    Pour faire cela, le popup appelle une fonction de la page principale.
    Page principale:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function on_change_date()
    {
    ...
    }
    Popup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    self.opener.document.on_change_date();
    self.close();
    Ce code fonctionne très bien sous IE mais pas sous Firefox.
    Savez-vous pourquoi ?
    Comment faire pour corriger ça ?

    Merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    parceque firefox en vrai browser qui se respecte refuse de modifier la propriété opener qui DOIT rester en lecture seule !!!

    un popup peut uniquement être fermé depuis la page mère ...
    donc mets une fonction de fermeture sur la page mère et appelle là depuis la popup ...

  3. #3
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut
    Ok merci.

    En faite, entre temps je me suis aperçut que le problème viens d'ailleurs.
    J'utilise prototype.js pour faire un appel ajax et c'est ça qui ne marche pas sous Firefox.
    Ca marche très bien dans d'autre cas mais pas dans la.

    Je vais me débrouiller autrement.
    En tous cas merci pour la réponse rapide.

  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 : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Citation Envoyé par SpaceFrog
    parceque firefox en vrai browser qui se respecte refuse de modifier la propriété opener qui DOIT rester en lecture seule !!!

    un popup peut uniquement être fermé depuis la page mère ...
    donc mets une fonction de fermeture sur la page mère et appelle là depuis la popup ...

    Mdrr, ton casques est vraiment si opaque que ca ?

    Je te propose mieux que ce que ce que tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    with (window.open("url","_blank","") {
       .parentDocument=document
       .parentWindow=window
       .callBack=function(childDocument, childWindow) {
          var Window = (window.parentWindow) ? window.parentWindow : window;
          var Document= (window.parentDocument) ? window.parentDocument : document;
          // Document & Window représentent le document et la fenêtre de la page mère
          // Ajoutez ici les opérations à effectuer
       }
    }
    Depuis la page fille, récuperer l'objet ayant pour ID "Xyz" de la page mère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.parentDocument.getElementsById("Xyz")
    Pour faire appel à la fonction callBack :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.callBack(document,window)

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    heu
    en quoi y-a-t'il du mieux là dedans ???

    suffit juste de prévoir un script de fermeture sue la page ouvrante et c'est tout et au moins c'est archi universel ...

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Citation Envoyé par SpaceFrog
    heu
    en quoi y-a-t'il du mieux là dedans ???

    suffit juste de prévoir un script de fermeture sue la page ouvrante et c'est tout et au moins c'est archi universel ...
    Mais il a jamais dit que ca fenêtre ne fermait pas ! mdrr

    C'est sa méthode on_change qui ne fournissait pas le resultat escompté
    self.close() (ou window.close, c'est pareil) fonctionne très bien pour un popup même sous FireFox

    La suite ne te concernait pas, c'était une amélioration de sa technique de callBack vers la page mère

    En gros je disais que la buée sur ton casque (y a de l'eau dans l'espace ?) avait fait que tu avais mal lu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] impossible d'ouvrir un popup sous firefox 5.01
    Par kalo86 dans le forum ASP.NET
    Réponses: 0
    Dernier message: 25/07/2011, 16h21
  2. probleme avec les messages popup sous firefox
    Par elamarti dans le forum Test
    Réponses: 1
    Dernier message: 20/05/2011, 19h57
  3. Fonction js non appelée sous firefox.
    Par DevServlet dans le forum JSF
    Réponses: 13
    Dernier message: 14/09/2009, 15h12
  4. Réponses: 2
    Dernier message: 11/09/2009, 15h42
  5. fonction javascript fonctionnant sous firefox mais pas sous IE
    Par calitom dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/03/2007, 12h56

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