Fermer une popup depuis la fenêtre parente

Résolu
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 - 29 janv. 2005 à 21:53
aouissaouinizar Messages postés 1 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 10 décembre 2009 - 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

9 réponses

tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
29 janv. 2005 à 23:48
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
3
tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
29 janv. 2005 à 22:59
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
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
29 janv. 2005 à 23:03
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...
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
29 janv. 2005 à 23:08
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ô
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
29 janv. 2005 à 23:27
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
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
29 janv. 2005 à 23:40
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!
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
30 janv. 2005 à 08:30
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?
0
tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
30 janv. 2005 à 11:13
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
0
aouissaouinizar Messages postés 1 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 10 décembre 2009
10 déc. 2009 à 10:34
0
Rejoignez-nous