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 :

window.opener non défini


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 16
    Par défaut window.opener non défini
    Bonjour,

    Voici mon pb :

    J'ai une application (une webapp) qui affiche une page comportant un formulaire et notamment un champs input afin que l'utilisateur puisse inscrire le nom d'une étoile. A côté du champs input, un lien qui permet d'ouvrir une popup contenant la page JSP d'une autre application (une autre webapp sur un autre tomcat) dont le but est de résoudre le nom de l'étoile rentrée par l'utilisateur et de proposer un certain nombre de noms normalisés pour cette étoile. L'utilisateur clique dans la popup sur un nom normalisé et celui-ci est ensuite reporté dans le champs input de la fenêtre principale, et la popup se ferme.... en toute théorie

    Pour cela j'utilise le script suivant dans la fenêtre principale pour ouvrir la popup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <script language="JavaScript">
    function opentarget() {
    var fields = document.getElementsByName('<bean:write name="TEMPLATE_CLASSES" property="name"/>');
    var url = 'http://132.149.40.166:8080/simbadcheck/simbadCheck.jsp' + '?formName=invokeSvaForm&fields=<bean:write name="TEMPLATE_CLASSES" property="name"/>' + '&target=' + fields[0].value;
    var popup = window.open(url, 'Target', 'width=400,height=600');
     
    }
    </script>
    La pop up s'ouvre parfaitement bien, je récupère bien tous les paramètres GET passés et l'application résoud bien le nom. Par contre lorsque je souhaite changer la valeur du champs input j'utilise le window.opener pour récupérer la référence sur la fenêtre appelante et ensuite le champs de mon formulaire. Mais là pb : la pop up n'a auun opener de défini.

    Avez vos déjà rencontré un pb similaire ?
    Merci d'avance.

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 16
    Par défaut
    Non malheureusement j'ai essayé plusieurs choses mais ni window.opener, ni opener, ni self.opener (ni les mêmes choses avec 'parent') ne fonctionnent...que ce soit sous Firefox, ou sous IE 6...

  4. #4
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    tu peux nous montrer le bout de code de la popup dasn lequel tu appelles l'input du l'opener ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 16
    Par défaut
    Voilà le lien dans la popup :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="javascript:miseAJour('<%=element.replaceAll(" ","")%>');">Get This Name</a>
    Et voici la fonction miseAJour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <script language="JavaScript">
    function miseAJour(newTarget) {
    window.opener.document.<%=formname%>.elements["<%=field%>"].value = newTarget;
    top.close();
    }
    </script>

    Et vu que ça ne fonctionnait pas voici la fonction que j'utilise actuellement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <script language="JavaScript">
    function miseAJour(newTarget) {
    alert(self.window.document.title);
    top.close();
    }
    </script>
    Et là ca plante sans afficher le 'alert'. Si dans le alert je mets self.window.document le alert s'ouvre et affiche [Object HTMLDocument]

    J'ajoute que le tout est encapsulé dans du struts et que j'utilise abondamment les tiles donc du coup la page appelante est construite à partir de plusieurs petites JSP (mais pourtant je doute que cela pose pb).

  6. #6
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    self.window est un pléonasme ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 16
    Par défaut
    Voici ce que je viens de trouver sur le site :

    http://forum.joomla.org/index.php?topic=3482.5;wap2

    The Popups which are generated to (edit/insert images for example) use the javascript method window.opener to access the variables/methods of the calling window.

    if the url of the calling window is however, different from the the url of the popup window browsers refuse to access the variables in favor of cros-site-scripting prevention, which results in an partly unusable editor then.
    Ce qui est donc mon cas... Y'a t-il une astuce pour faire autrement ?

Discussions similaires

  1. paramètres width et height window.open non pris en compte
    Par Joauc dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/05/2012, 16h12
  2. Windows form et Importation dll : type non défini
    Par Isiloki dans le forum VB.NET
    Réponses: 1
    Dernier message: 18/04/2012, 11h00
  3. Non prise en compte des paramètres top et left de window.open
    Par laurentSc dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/09/2010, 09h24
  4. window.open : argument non valide
    Par Unusual dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/07/2009, 12h12
  5. [VB.NET] Type non défini quand j'appelle un Windows Form ?
    Par beegees dans le forum Windows Forms
    Réponses: 4
    Dernier message: 12/06/2006, 11h12

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