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 :

[AJAX] Transmissions de champs form entre popup et page apelante


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de mickado
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 154
    Points : 85
    Points
    85
    Par défaut [AJAX] Transmissions de champs form entre popup et page apelante
    Bonjour a tous !

    J'ai un petit probléme que je n'arrive pas a résoudre seul, c'est pourquoi je vous demande a l'aide.

    J'ai un formulaire d'édition de page web dans lequel l'internaute doit choisire une option dans une popup apellée par ce meme formulaire et cette option(valeur) doit être retourner dans un champ type TEXT du formulaire de ma page apellante, seulement je n'y arrive pas, j'ai essayer diverse méthode pour enfin y arriver mais en vain...

    Pour vous donner une petite idée voici le code de ma page formulaire qui appel le Popup :

    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
    <HTML><HEAD><TITLE>Formulaire qui appelle mon popup</TITLE>
    <SCRIPT type="text/JavaScript">
     
    function OuvrirPopup(page,nom,option) {
      window.open(page,nom,option);
    }
     
     
    </SCRIPT></HEAD>
    <body>
     
    <FORM name='modcoul'>
    	Votre choix <INPUT type="text" name="choix"><BR>
    	<INPUT type="button" value="Ouvrir le popup" onClick="OuvrirPopup('popchoix.html')"><BR>
    </FORM>
     
    <BR>
    <BR>
    <BR>
    <BR>
    <BR>
    </FONT>
    </BODY></HTML>
    et voici le code de ma popup :

    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
    <HTML><HEAD><TITLE>Popup de choix</TITLE>
     
    <SCRIPT language="javascript">
     
    // fonction à placer dans la popup, biensur. 
    function popUpToOpener(popupFormName, popupFieldName, openerFormName, openerFieldName){
     
    // on recupere le champ du formulaire de la popup 
    var popupField = document.popupFormName.popupFieldName;
     
    // le champ de la fenetre opener 
    var openerField = window.opener.openerFormName.openerFieldName;
     
    // et on fait passer la valeur du popupField, dans l'openerField 
    openerField.value = popupField.value;
     
    }
     
     
    bloc = true;
    function hexa(couleur)
    {
    	if(bloc)
    		document.form.hexval.value = couleur;
    }
    function palette() { 
    document.write("<TABLE border='0' cellpadding='0' cellspacing='0' ><TR>"); 
    var h=new Array('00','33','66','99','CC','FF'); 
    var col=""; 
    for(var i=0;i<6;i++) { 
    for(var j=0;j<6;j++) { 
    for(var k=0;k<6;k++) { 
    col="#"+h[i]+h[j]+h[k]; 
    document.write("<TD width='10' height='10' bgcolor='"+col+"' onMouseOver=\"hexa('"+col+"')\" onClick=\"if(bloc) { bloc = false; } else { bloc = true; }\"></TD>"); 
    } 
    } 
    document.write("</tr>"); 
    } 
    document.write("</TABLE>"); 
    } 
    </SCRIPT> 
    </HEAD>
    <body>
    <div align="center">
    <SCRIPT language="JavaScript"> 
    palette(); 
    </SCRIPT>
    <form name="form">
    Cliquez sur la couleur de votre choix pour désactiver/activer le défilement.<br />
    <input type="text" name="hexval" size="9"><br>
    <input type="submit" onclick="javascript:popUpToOpener('form', 'hexval', 'modcoul', 'choix')"  value="Envoyer">
    </form>
    </div>
     
    </BODY></HTML>
    En éspérant que vous puissez vous, trouver l'erreur que j'ai pus commettre.

    Merci beaucoup .

  2. #2
    Membre régulier Avatar de mickado
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 154
    Points : 85
    Points
    85
    Par défaut
    A croire que personne ne connais l'origine de mon probléme ...

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 291
    Points : 217
    Points
    217
    Par défaut
    Bonjour,

    as-tu essayé de te servir des id des champs plutôt que name et de recuperer ces champs via la foonction javascript getElementById("idDuChamp")?

    Ps : Ton second message était-il vraiment nécessaire...?

  4. #4
    Membre régulier Avatar de mickado
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 154
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par fayred Voir le message
    Bonjour,

    as-tu essayé de te servir des id des champs plutôt que name et de recuperer ces champs via la foonction javascript getElementById("idDuChamp")?

    Ps : Ton second message était-il vraiment nécessaire...?
    A vraie dire, non je suis plustot tourner vers PHP, L'AJAX est tout nouveau pour moi et je n'est pas un niveau EXTRA en javascript.

    Mon message n'était pas vraiment utile, je suis trop impatient cela fais trop longtemps que je me creuse le cerveau sur cette fonction sans pour autant savoir en tirer quelque chose de concret.

    Je vais me renseigner sur la fonction que tu cite plus haut.

    Merci bien

    EDIT:

    En effet getElementById() me semble plus approprié mais comment employer cette fonction ?

  5. #5
    Membre régulier Avatar de mickado
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 154
    Points : 85
    Points
    85
    Par défaut
    J'ai enfin réussi

    Nouveau probléme, une fois que l'internaute a choisis ça couleur je souhaiterais colorier du text sur ma page formulaire avec la couleur qu'il a choisis dans la popup, comment faire ?

    merci.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 291
    Points : 217
    Points
    217
    Par défaut
    Je pense que tu dois pouvoir le faire en chargeant ta page contenant le texte avec une variable en get par exemple contenant ta couleur puis en mélangeant attribut style de tes balises html et variables php contenant la couleur.

    Au vu de ce que tu me donnes comme code, c'est tout ce que je peux te dire...

  7. #7
    Membre régulier Avatar de mickado
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 154
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par fayred Voir le message
    Je pense que tu dois pouvoir le faire en chargeant ta page contenant le texte avec une variable en get par exemple contenant ta couleur puis en mélangeant attribut style de tes balises html et variables php contenant la couleur.

    Au vu de ce que tu me donnes comme code, c'est tout ce que je peux te dire...
    je comprends bien et c'est d'ailleurs la premiére idée qui m'est venu mais justement, la page apellante ne dois pas être rechargée...

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 291
    Points : 217
    Points
    217
    Par défaut
    Une solution consiste a submit ton formulaire avec de l'ajax et à recharger uniquement le div contenant le texte à modifier via la fonction javascript innerHTML().

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/10/2009, 08h16
  2. [AJAX] Une Autocomplétion multi-forms/champs
    Par Arcaal dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 06/09/2008, 22h37
  3. Communication entre popup et page mere
    Par fepagaf dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 14/09/2007, 10h40
  4. [WebForms]Communication entre popup et page principale
    Par ben_popcorn dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 05/12/2006, 10h33
  5. [VB.NET]Ma Form entre une toplevel Form et une topMost popup
    Par jazz matazz dans le forum Windows Forms
    Réponses: 15
    Dernier message: 28/02/2006, 14h51

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