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 :

Formulaire mère / fille


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 25
    Par défaut Formulaire mère / fille
    Bonjour,

    Je l'entend d'ici : Fais une recherche sur google fainéant !

    Et bien ca fait 3 jours que c'est ce que je fait. Je suis tombé sur quantité de chose en rapport avec mon problème mais pas tout a fait ...

    Il faut dire que je n'ai pratiquement aucune idée en codage javascript. J'écris en ce moment une application en PHP et bien evidemment, javascript devient pratiquement indispensable. Je vais donc m'y mettre serieusement a l'avenir. Bref... Voici donc mon problème :

    Mon application est un gestionnaire de points topographique (je suis géomètre) connu en X Y dans une base MySQL. Maintenant, j'ai écris une requête qui me permet de trouver tous les points dans un rayon "q" a partir d'un couple X/Y de coordonnées. Pour cela, j'appel un popup depuis ma page d'index qui me renvoie un formulaire.

    Voici un bout de code réduit au minimum de index.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <script language="javascript">
     
          function suche_Koor() 
    { 
    window.open("findKoord.php", "suche_Koor", "toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=no, copyhistory=no, width=300, height=400, left=300, top=50" ); 
    }
    <?php
    echo '<a href="#" OnClick="suche_Koor()">Suche nach Koordinaten - popup</a>';
    ?>
      </script>
    et celui (complet) de la popup findKoord.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    <html>
      <head>
        <title>Suchen</title>
     
      <style type="text/css">
      table {
    border: medium solid #000000;
    width: 50%;
    }
    td, th, tr {
    empty-cells: show;
    border: 1px solid #6495ed;
     
    }
    </style>
    <script>
    function go_submit() {
    document.forms['edit'].target = window.opener;
    document.forms['edit'].submit();
    }
    </script>
      </head>
    <body>
              <form name="edit" action="index.php" method="POST">
              <table>         
              <tr><td>
              X (hoch):
              </td>
              <td>
              <input type="text" name="X"></inpunt>
              </td></tr>
              <tr><td>
              Y (recht):
              </td>
              <td>
              <input type="text" name="Y"></inpunt>
              </td></tr>
              <tr><td>
              Rechteck :
              </td>
              <td>
              <select name="q">
              <option value="100">100</option>
              <option value="250">250</option>
              <option value="500">500</option>
              <option value="1000">1000</option>
              </select>
              </td></tr>
              <tr><td>
              <input type="submit" onClick="go_submit()" value="Suchen">
              </td></tr>
              </form>
              </table>
    </body>
    </html>
    Mon problème est le suivant : Je souhaite que ce formulaire soit soumis a la fenêtre mère. Pour le moment, il ouvre une nouvelle fenêtre ...

    Si quelqu'un pouvait m'aider a enlever cette poutre que j'ai dans le pied, ca serais vraiment très sympa ...

    Merci et bonne journée,

    Jean

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms['edit'].target = window.opener;
    pour que ta tentative fonctionne, il faudrait que la page principale ait un nom (2° paramètre du window.open() ) afin de pouvoir y faire référence dans le target du form ...

    A+

  3. #3
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 25
    Par défaut
    Merci beaucoup pour cette réponse rapide.

    Si je comprend bien, ma page principal a ici le nom "suche_Koor" ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function suche_Koor() 
    { 
    window.open("findKoord.php", "suche_Koor", "toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=no, copyhistory=no, width=300, height=400, left=300, top=50" ); 
    }
    Comment y faire référence dans le target ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function go_submit() {
    document.forms['edit'].target = ???;
    document.forms['edit'].submit();
    }
    J'avais cru comprendre qu'il était possible de rentrer comme target la fenêtre qui a créé le popup sans la nommer. Me trompe-je ?
    Désolé mais je suis vraiment une bille dans ce language.

    Merci encore,

    Jean

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par jeanvie Voir le message
    J'avais cru comprendre qu'il était possible de rentrer comme target la fenêtre qui a créé le popup sans la nommer.
    Comme tu le sais déjà, on peut effectivement y faire référence en Javascript avec le terme "opener".
    Mais il ne me semble pas que ça fonctionnerait en target (il s'agit d'une référence et pas de son nom) : il n'y a pas de target prédéfinie "_opener" comme il peut y en avoir pour "_parent", "_top" ou "_self".

    Par contre, tu peux faire ça directement en HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="edit" action="index.php" method="POST" target="suche_Koor">
    A+

  5. #5
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 25
    Par défaut
    Désolé mais j'ai dû mal m'expliquer...

    Si je fait un target "html" la validation de mon formulaire dans le popup m'ouvre une nouvelle fenêtre. Or je cherche a ce que le formulaire soit diriger vers la page principale (index.php) déjà ouverte.

Discussions similaires

  1. popup mère fille
    Par melitta dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/12/2007, 16h34
  2. Problème de dialogue entre fenêtre mère / fille
    Par Blondin_1.0 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 09/10/2007, 10h32
  3. Interbase - DBExpress - relation mère/fille
    Par indiana64 dans le forum Bases de données
    Réponses: 8
    Dernier message: 13/03/2007, 14h57
  4. Réponses: 11
    Dernier message: 08/07/2005, 14h48
  5. Popup Mère/Fille
    Par Memnoch60 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/02/2005, 14h48

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