Fermer une popup depuis la fenêtre parente [Résolu]

malik7934 1162 Messages postés mardi 9 septembre 2003Date d'inscription 15 août 2009 Dernière intervention - 29 janv. 2005 à 21:53 - Dernière réponse : aouissaouinizar 1 Messages postés mercredi 14 février 2007Date d'inscription 10 décembre 2009 Dernière intervention
- 10 déc. 2009 à 10:34
Hello,



J'y connais pas grand chose en javascript et j'ai besoin d'aide!

J'ai pondu un code en PHP qui contient un formulaire. Lorsqu'on clique sur le bouton, une popup s'ouvre:



function processPop(){

wind2 =
window.open('','processing','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,'
+ 'width=100' + ',height=50');

wind2.document.write("<center>please, wait while loading
</center>");

wind2.document.close();

}

...






Après avoir cliqué sur le bouton, un script PHP assez long s'exécute
(ça peut prendre une minute). J'aimerais qu'à la fin de l'exécution, la
fenêtre popup se referme toute seule...

J'ai vaguement essayé de faire la chose suivante:



function closeProcess(){

wind2.close();

}

...

// exécution du script php

echo $results;

?>

closeProcess()



mais ça ne marche pas... quelqu'un pourrait m'aider?? (je résume: ouvrir une pop-up, puis la fermer automatiquement après l'exécution d'une fonction (un wait par exemple))




Thanx, Malik7934
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
tucsoufle 1251 Messages postés mardi 15 juillet 2003Date d'inscription 30 septembre 2007 Dernière intervention - 29 janv. 2005 à 23:48
3
Merci
lol

j'ai trouvé pourquoi ca ne marche pas

c'est parce que tu ne peut fermer une fenetre qui est deja fermer - c'est normal



conclusion, tu doit réouvrir le popup puis le refermer tout de suite

je ne sais pas si tu me suis, donc tu fais comme ca :

function processPop(){
wind2
=
window.open('','processing','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,'
+ 'width=300,height=200,left=200,top=100,screenX=200,screenY=100');

wind2.focus();

wind2.document.write("<center>please, wait while loading
</center>");

wind2.document.close();

}



function closeProcess(){

wind2 =
window.open('','processing','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,'
+ 'width=300,height=200,left=200,top=100,screenX=200,screenY=100');


wind2.close();

}

et la tu appel ta fonction pour le fermer et ca marche sans probleme

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet

Merci tucsoufle 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 125 internautes ce mois-ci

Commenter la réponse de tucsoufle
tucsoufle 1251 Messages postés mardi 15 juillet 2003Date d'inscription 30 septembre 2007 Dernière intervention - 29 janv. 2005 à 22:59
0
Merci
salut

je ne m'y connais pas non plus énormément en javascript

mais essaye plutot quelue chose du genre :



function closeProcess(){

wind2.close();

}

...

// exécution du script php

echo $results;

?>

<script>

closeProcess();

</script>


Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Commenter la réponse de tucsoufle
malik7934 1162 Messages postés mardi 9 septembre 2003Date d'inscription 15 août 2009 Dernière intervention - 29 janv. 2005 à 23:03
0
Merci
Merci mais j'ai déjà essayé!



En fait, j'arrive même pas à fermer ce popup même avec un bouton
close... il doit y avoir une affaire de portabilité des variables...
mais j'y connais rien en javascript.

Voici pourquoi je parle de portabilité:





function processPop(){
wind2 =
window.open('','processing','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,'
+ 'width=300,height=200,left=200,top=100,screenX=200,screenY=100');

wind2.focus();

wind2.document.write("<center>please, wait while loading
</center>");

wind2.document.close();

}



function closeProcess(){

wind2.close();

}



...

echo '</form>';

upld($arg);





et c'est dans la fonction upld que je fais





echo '';





Mais bien sûr, ça marche pô . Le bouton "Refermer la Fenêtre" n'a aucun effet...
Commenter la réponse de malik7934
malik7934 1162 Messages postés mardi 9 septembre 2003Date d'inscription 15 août 2009 Dernière intervention - 29 janv. 2005 à 23:08
0
Merci
un petit complément qui a son importance je crois... Mon code a cette forme:



function processPop(){

wind2 =
window.open('','processing','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,'
+ 'width=300,height=200,left=200,top=100,screenX=200,screenY=100');

wind2.focus();

wind2.document.write("<center>please, wait while loading
</center>");

wind2.document.close();

}



function closeProcess(){

wind2.close();

}



...

echo '</form>';

upld($arg);



et c'est dans la fonction upld que je fais



echo '';



Mais bien sûr, ça marche pô
Commenter la réponse de malik7934
tucsoufle 1251 Messages postés mardi 15 juillet 2003Date d'inscription 30 septembre 2007 Dernière intervention - 29 janv. 2005 à 23:27
0
Merci
tiens

j'arrive a fermer le popup depuis la premiere fenetre avec un lien

......mais autrement je ne comprend pas

le lien qui marche

[# fermer]

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Commenter la réponse de tucsoufle
malik7934 1162 Messages postés mardi 9 septembre 2003Date d'inscription 15 août 2009 Dernière intervention - 29 janv. 2005 à 23:40
0
Merci
Je viens de faire un bout de code totalement inutile, mais représentatif de la structure de ma source:



<HTML>



<head>

<title>popup</title>





<script LANGUAGE="JavaScript">

<!--



function processPop(){

var wind2 =
window.open('','processing','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,'
+ 'width=300,height=200,left=200,top=100,screenX=200,screenY=100');

wind2.focus();

wind2.document.write("<center>please, wait while loading
</center>");

wind2.document.close();

}



function closeProcess(){

wind2.close();

}



//-->

</script>

</HEAD>



<?php

function formulaire($sel){



echo '<form name ="multi_up" action="'.$_SERVER['SCRIPT_NAME'].'" method="post">';

echo '<select name="ligne" size="1">';



for ($i=0;$i<10;$i++)

if ($i == $sel)

echo '<option name="'.$i.'" selected>'.($i+1).'</option>';

else

echo '<option name="'.$i.'">'.($i+1).'</option>';

echo '</select>';

echo '

</form>';



}



function upld($i){

if ($i == 9) echo '';

}



$submit1 = $_POST['submit1'];

$submit2 = $_POST['submit2'];



if (!(($submit1) || ($submit2))){



formulaire(0);

}



else{



if (!($submit2)){



$submit1 = 0;

$j = $_POST['ligne'];

formulaire(($j-1));



for ($i=0;$i<$j;$i++){

echo $i.'
';

}

echo '</form>';

}



$j = $_GET['size'];



for($i=0;$i<10;$i++){

upld($i);

}



}

?>

</HTML>



Voilà. Peut-être qu'avec ça, mon erreur est plus détectable...
je veux juste que le popup qui s'ouvre avec open se referme avec close!
Commenter la réponse de malik7934
malik7934 1162 Messages postés mardi 9 septembre 2003Date d'inscription 15 août 2009 Dernière intervention - 30 janv. 2005 à 08:30
0
Merci
CA MARCHE!!!



Par contre j'ai pô compris...

"

c'est parce que tu ne peut fermer une fenetre qui est deja fermer - c'est normal" ... je la ferme quand la fenêtre?
Commenter la réponse de malik7934
tucsoufle 1251 Messages postés mardi 15 juillet 2003Date d'inscription 30 septembre 2007 Dernière intervention - 30 janv. 2005 à 11:13
0
Merci
en faites tu ne la ferme pas vraiment mais tu en empeche l'accès, dans la fonction ou tu la crée

je te met la ligne en rouge

function processPop(){
var
wind2 =
window.open('','processing','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,'
+ 'width=300,height=200,left=200,top=100,screenX=200,screenY=100');

wind2.focus();

wind2.document.write("<center>please, wait while loading
</center>");

wind2.document.close();

}


@+

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Commenter la réponse de tucsoufle
aouissaouinizar 1 Messages postés mercredi 14 février 2007Date d'inscription 10 décembre 2009 Dernière intervention - 10 déc. 2009 à 10:34
0
Merci
Commenter la réponse de aouissaouinizar

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.