Mais ... su tu as un opener, c'est que tu pourrais aussi passer toutes ces valeurs en paramètre de l'url et les récupérer directement à partir de là ...
A+
Mais ... su tu as un opener, c'est que tu pourrais aussi passer toutes ces valeurs en paramètre de l'url et les récupérer directement à partir de là ...
A+
Pourtant si je fais un alert(champ) j'ai la bonne valeur qui s'affiche, à mon avis ça coince ailleurs...
Les valeurs ne sont pas postées dans la page cible, je ne sais pas si cela vient du script ou du passage des champs... Je cherche![]()
Voici le vrai formulaire :
Mais je préfère toujours marquer des champs génériques sur le forum, si jamais ça doit servir à quelqu'un d'autre c'est plus facile à déchiffrer qu'avec mes propres termes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <input type="hidden" name="matricule" value="<?php echo $_SESSION['matricule']; ?>" /> <input type="hidden" name="entite" value="monentite" /> <input type="hidden" name="bu" value="mabu" /> <input type="hidden" name="listenom" value="monnom" /> <input type="hidden" name="tabprg" value="mesprogs" /> <input type="submit" value="Enregistrer" />
(edit : les value dans cet exemple c'est pour tester le passage des valeurs, sinon j'ai bien value="" !)
Pourquoi ne pas simplifié ton script comme ceci :
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 <script language="JavaScript" type="text/javascript"> function RecupChamp() { var champ = window.opener.document.getElementById('formulaire').champ.value; document.forms['ListPost'].elements['champ'].value = champ; } </script> </head> <body onLoad="RecupChamp();"> <form method="post" name="ListPost" action="./ListInsert.php" > <label> <input type="text "name="champ" value=""id="textfield" /> </label> </form> </body> </html>
Avant de simplifier, mieux vaudrait "régulariser" la syntaxeA+
Code : Sélectionner tout - Visualiser dans une fenêtre à part var champ = window.opener.document.getElementById('formulaire').champ.value;
Cette syntaxe fonctionne ... puisque je pense il a donné un id à son formulaire ...
J'ai plusieurs fonctions, chacune renvoie sa valeur. Avec une seule fonction globale, je ne peux pas en renvoyer plusieurs(il y a peut-être plus simple et propre, plus "objet" peut-être, mais je n'ai pas les compétences ni le temps de m'y mettre sur ce projet là)
Ta façon de donner une valeur au champ a l'air bonne.
Tu récupères bien la bonne valeur quand tu fais un alert ; donc le problème viens d'ailleurs.
Ton problème a lieu en post dans le code PHP : tu ne récuperes pas les valeurs ; c'est bien ca ?
Passe tes champs en type="text" pour voir s'ils sont bien remplis ; assure toi que tu n'as pas des formulaires imbriqués... ou des étourderies du genre
Ah le type="text" c'est pas bête ! J'y avais pas pensé...
Alors j'ai 4 valeurs sur 5 qui s'affichent bien ! Donc le problème vient de la communication avec la page cible. Pour la 5e, c'est un tableau, est-il possible d'en faire passer un dans un value ? Me dites pas non svp, sinon je vais pleurer...
Oooooh mais quel idiot !
Je faisais
Je mérite des baffes, j'ai honte là
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $entite = $_POST['entite']; echo $Entite;
Ca fonctionne donc, sauf pour ce tableau... Enfin ça fait plaisir d'avancer un peu, une semaine que je suis sur cette fonctionnalité, je sature !
Elle est incorrecte !!
Sous IEfonctionne aussi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part window.opener.champ.value;
De là à en déduire que la syntaxe est bonne![]()
Je n'ai pas dit qu'elle était bonne j'ai juste dis qu'elle fonctionnait :
Cette syntaxe fonctionne ... puisque je pense il a donné un id à son formulaire ...
Pour le tableau j'ai une liste d'input issue de la base, de cette forme :
Je clique sur un bouton qui ouvre une popup, qui doit récupérer ces valeurs. Vu la structure des pages, je n'ai pas d'autre choix que de les récupérer par JS (GET ou POST pas possible). Code JS :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input type="checkbox" name="prg" value="IFE SW" /> IFE SW<br /><input type="checkbox" name="prg" "value="INTRADIV CAS AMS" /> INTRADIV CAS AMS<br />
(tableau qui m'a déjà posé un paquet de problèmes : voir ce topic
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 var cases = window.opener.document.getElementById('BUIndicator').prg; for (i = 0; i < cases.length; i++) { if (cases[i].checked) { document.write(cases[i].value + " est coché<br />"); } else { document.write(cases[i].value + " n'est pas coché<br />"); } })
Edit : je crois que j'ai une piste, ne vous fatiguez pas à tout comprendre pour rien![]()
Autant que je sache car j'ai eu ce souci ton tableau ne passe pas en Post en tant que tableau
pour le recuperer en PHP essaye
tu peux aussi passer ta valeur en faisant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part mavar=explode(",",$_post["monTableau"]);
Code : Sélectionner tout - Visualiser dans une fenêtre à part implode(",",$monTableauApasserEnPost);
Pourquoi ne pas récupèrer ta variable "TabPrgCoches" et enuiste dans ta popup tu fais une fonction avec split().
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager