par
dantalcongo » 28 août 2014, 09:01
Bonjour Voici le détail de mon problème/besoin
J’ai actuellement un premier fichier nommé PAGE2.php dans lequel j’ouvre notamment un pop avec un envoi de variable dans l’URL :
PAGE2.PHP
Code : Tout sélectionner
<a href="#" onClick="window.open('./popup3.php?id=<?PHP echo $id;?>&id2=<?PHP echo $id2;?>', 'popup', 'toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0, width=500, height=350,screenX=450,screenY=175')"> Ouvrir le popup </a><br>
// plus bas dans ma page la récupération des données du formulaire :
echo "1-<pre>";
print_r($_POST); // affichage du tableau pour visu
$ref_article = $_POST['ref_article'];
$nom_article = $_POST['nom_article'];
$quantite=$_POST['quantite'] ;
echo("<h3>les données reçues sont : </h3>");
for ($i=0;$i<sizeof($ref_article);$i++) {
if (isset($ref_article[$i]
)) {
echo "ma référence Article: ";
echo "$ref_article[$i], mon article est: $nom_article[$i], ma quantite est : $quantite[$i]";
echo "<br>";
}
}
Les Variables sont récupérés dans mon Popup (popup3.php) pour lancer une requete de sélection avec bouche while :
Code : Tout sélectionner
///MA REQUETE ….///
Et ma boucle avec mon formulaire de retour:
echo '<form method="POST" action="page2.php" > ';
echo '<table>';
$i= 0;
while ($data= mysqli_fetch_assoc($resultat))
{
$i++;
echo "
<tr>
<td>Ref article :</td>
<td><input type='text' name='ref_article[]' id='ref_article' value='".$data["ref_article"]."' tabindex='20'/></td>
</tr>
<tr>
<td>Nom Article :</td>
<td><input type='text' name='nom_article[]' id='nom_article' value='".$data["nom_article"]."' tabindex='20'/></td>
</tr>
<tr>
<td>Quantite :</td>
<td><input type='text' name='quantite[]' id='quantite' tabindex='20'/></td>
</tr> ";
}
echo '</table><p><input type="submit" value="submit"></p>
</form>';
}
Mon problème est que pour le moment l’envoi du formulaire ouvre la PAGE2.php dans ma fenêtre de popup sans toucher la fenêtre parente qui se trouve toujours en arrière plan.
J’ai longuement cherché une manière d’envoyer les variables dans ma fenêtre parent et de fermer le popup, mais cela ne fonctionne pas.
Les méthodes testées sont :
Déclaration de la fonction dans popup3.php :
Code : Tout sélectionner
<script language="JavaScript" type="text/javascript">
function ClosepopupAndRefreshparent()
{
window.opener.location.reload();
window.close();
}
</script>
Et dans mon form :
Code : Tout sélectionner
echo '<form method="POST" action="page2.php" onSubmit="ClosepopupAndRefreshparent()";> ';
Ca rafraichit bien mon Parent et ca ferme mon popup, mais pas de données.
J’ai aussi testé sur le bouton Submit avec :
Code : Tout sélectionner
echo '</table><p><input type="submit" value="submit" onClick="ClosepopupAndRefreshparent()";></p>
Mais j’ai le même problème, le Parent se raraichit, le popup se ferme, mais pas de données sur ma page.
Auriez-vous une idée à me proposer ?
Merci d’avance
Bonjour Voici le détail de mon problème/besoin
J’ai actuellement un premier fichier nommé PAGE2.php dans lequel j’ouvre notamment un pop avec un envoi de variable dans l’URL :
PAGE2.PHP
[code]<a href="#" onClick="window.open('./popup3.php?id=<?PHP echo $id;?>&id2=<?PHP echo $id2;?>', 'popup', 'toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0, width=500, height=350,screenX=450,screenY=175')"> Ouvrir le popup </a><br>
// plus bas dans ma page la récupération des données du formulaire :
echo "1-<pre>";
print_r($_POST); // affichage du tableau pour visu
$ref_article = $_POST['ref_article'];
$nom_article = $_POST['nom_article'];
$quantite=$_POST['quantite'] ;
echo("<h3>les données reçues sont : </h3>");
for ($i=0;$i<sizeof($ref_article);$i++) {
if (isset($ref_article[$i]
)) {
echo "ma référence Article: ";
echo "$ref_article[$i], mon article est: $nom_article[$i], ma quantite est : $quantite[$i]";
echo "<br>";
}
}[/code]
Les Variables sont récupérés dans mon Popup (popup3.php) pour lancer une requete de sélection avec bouche while :
[code]///MA REQUETE ….///
Et ma boucle avec mon formulaire de retour:
echo '<form method="POST" action="page2.php" > ';
echo '<table>';
$i= 0;
while ($data= mysqli_fetch_assoc($resultat))
{
$i++;
echo "
<tr>
<td>Ref article :</td>
<td><input type='text' name='ref_article[]' id='ref_article' value='".$data["ref_article"]."' tabindex='20'/></td>
</tr>
<tr>
<td>Nom Article :</td>
<td><input type='text' name='nom_article[]' id='nom_article' value='".$data["nom_article"]."' tabindex='20'/></td>
</tr>
<tr>
<td>Quantite :</td>
<td><input type='text' name='quantite[]' id='quantite' tabindex='20'/></td>
</tr> ";
}
echo '</table><p><input type="submit" value="submit"></p>
</form>';
}[/code]
Mon problème est que pour le moment l’envoi du formulaire ouvre la PAGE2.php dans ma fenêtre de popup sans toucher la fenêtre parente qui se trouve toujours en arrière plan.
J’ai longuement cherché une manière d’envoyer les variables dans ma fenêtre parent et de fermer le popup, mais cela ne fonctionne pas.
Les méthodes testées sont :
Déclaration de la fonction dans popup3.php :
[code]<script language="JavaScript" type="text/javascript">
function ClosepopupAndRefreshparent()
{
window.opener.location.reload();
window.close();
}
</script>[/code]
Et dans mon form :
[code]echo '<form method="POST" action="page2.php" onSubmit="ClosepopupAndRefreshparent()";> ';[/code]
Ca rafraichit bien mon Parent et ca ferme mon popup, mais pas de données.
J’ai aussi testé sur le bouton Submit avec :
[code]echo '</table><p><input type="submit" value="submit" onClick="ClosepopupAndRefreshparent()";></p>[/code]
Mais j’ai le même problème, le Parent se raraichit, le popup se ferme, mais pas de données sur ma page.
Auriez-vous une idée à me proposer ?
Merci d’avance