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 :

(debutant) Fermeture automatique d'un popup.


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 64
    Points : 41
    Points
    41
    Par défaut (debutant) Fermeture automatique d'un popup.
    Bonjour,

    Voila mon probleme. Je souhaite que ma fenetre popup se ferme automatique après l'execution de tout le contenu. Donc je déclare une fonction JS pour fermer le popup:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <script type="text/javascript">
    	function fermerPopup(){
    	     window.close();
    	}
    </script>
    Ensuite dans mon code j'appel cette fonction a la fin de la page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <body>
       <?php
            include'connexion.php';
            Ma requete, etc...
     
            fermerPopup();
       ?>
    </body>
    Le probleme est qu'a l'execution du code il me dit que cette fonction (fermerPopup) n'est pas defini...
    Je voulais donc savoir comment appeler cette fonction directement?

    Je vous remercie!

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Citation Envoyé par scalp58 Voir le message
    après l'execution de tout le contenu.
    De quelle exécution parles-tu ?
    PHP ou JS (donc, serveur ou client) ?

    Si ta pop ne sert qu'à lancer un traitement JS, il suffit d'ajouter un en dernière instruction de ce traitement ...

    A+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 64
    Points : 41
    Points
    41
    Par défaut
    Ma pop execute seulement une requete php (un update exactement mais ca n'a aucun interet je crois )

    voila l'erreur que ca me met quand je met le self.close(); :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Call to undefined function close() in ****/***.php on line 45
    Mon code est pourtant tres simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    	<body>
    		<?php
                            include'connexion.php';
                            include'function.php';
                    
                            'recuperation de variable etc..'
     
                            $req=" Ma requete";
                            $sql= mysql_query($req) or die ("echec update: $req");
                            mysql_close($connexion);
                            self.close();
                    ?>
    	</body>
    Voila si tu vois ou est l'erreur ca m'airderait beaucoup merci!

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par scalp58 Voir le message
    Voila si tu vois ou est l'erreur ca m'airderait beaucoup merci!
    Je pense que l'erreur est d'utiliser une pop.

    Il vaudrait (beaucoup) mieux utiliser Ajax

    A+

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Sinon, pour répondre quand même à ta question
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <body onload="self.close();">
    		<?php
    			include'connexion.php';
    			include'function.php';
    		
    			'recuperation de variable etc..'
     
    			$req=" Ma requete";
    			$sql= mysql_query($req) or die ("echec update: $req");
    			mysql_close($connexion);
    		?>
    	</body>
    Mais encore une fois : ce n'est pas la bonne solution

    A+

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 64
    Points : 41
    Points
    41
    Par défaut
    Sachant que je suis en stage j'ai pas forcement le temps d'apprendre l'AJAX maintenant, surtout que je suis un peu a la bourre a niveau de mon calendrier... Alors la solution du popup sera très bien pour le moment

    Ensuite le probleme de ta proposition c'est qu'une fois que la page sera loadé ca va la fermer, jusque la tout va bien, sauf que si il y a une erreur lors de la requete ou quelque chose comme ca ca ne l'affichera meme pas et ca fermera la fenêtre :s

    Apres si tu as une proposition temporaire très simple en AJAX je suis preneur mais je preferais une soluce niveau php/JS

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 313
    Points : 330
    Points
    330
    Par défaut
    Ce n'est pas PHP qui va pouvoir exécuter une instruction javascript.
    Javascript s'exécute avec le HTML, c'est à dire côté client.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 64
    Points : 41
    Points
    41
    Par défaut
    ... Tu joues sur les mots là!

    Comment je peux déclencher une instructions javascript dans mon code html si tu veux? ...

    Enfin je pense avoir expliquer clairement mon probleme au dessus non?

  9. #9
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par scalp58 Voir le message
    ... Tu joues sur les mots là!
    Je ne suis pas sûr qu'essayer de t'expliquer que quand tu écris :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    	include'connexion.php';
    	include'function.php';
    	'recuperation de variable etc..'
    	$req=" Ma requete";
    	$sql= mysql_query($req) or die ("echec update: $req");
    	mysql_close($connexion);
    	self.close();
    ?>
    c'est bien PHP qui va interpréter le self.close() et te renvoyer une erreur vu qu'il ne connait pas cette instruction s'appelle jouer sur les mots...
    Le code JavaScript doit se trouver dans le HTML entre balises <script>.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 313
    Points : 330
    Points
    330
    Par défaut
    Voici un exemple PHP qui plante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <html>
    <head></head>
    <body>
    <?php
    alert('Ô PHP, interprète cette instruction javascript !');
    ?>
    </body>
    </html>
    En voici un qui fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <html>
    <head></head>
    <body>
    <?php
    echo '<script>alert("Ok, j\'ai compris. Javascript c\'est coté client");</script>';
    ?>
    </body>
    </html>
    Maintenant, pour que la révélation soit totale :
    Souris => Menu contextuel/Afficher source.

    Les instructions PHP ont disparues, il ne reste que de l'HTML et du javascript.
    En transaction HTTP, PHP s'execute côté serveur (ex: Apache). Javascript s'execute côté client(*) (ex: Firefox).

    Est-ce que la frontière qui sépare ces deux contextes est plus claire à présent ?

    (*) Il y a des exceptions, mais elles sont hors de propos.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 64
    Points : 41
    Points
    41
    Par défaut
    Ah!! ok j'ai compris ce que tu voulais dire par php autant pour moi

    Mais est ce que c'est correct d'ecrire le <script> dans le body? Je croyais que les fonctions scripts doivent être écrite dans le head?

    Sinon je crois que c'est exactement ce qu'il faisait planter mon code Je ne mettais tout simplement pas le <script>self.close</script> ^^

    Merci beaucoup!

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 313
    Points : 330
    Points
    330
    Par défaut
    la balise SCRIPT s'emploie indifféremment en HEAD ou en BODY.

    On aurait pu aussi écrire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <html>
    <head></head>
    <body>
    <script type="text/javascript">
    alert("<?php echo 'Ca aussi ça marche'; ?>");
    </script>
    </body>
    </html>
    Penses bien à une chose : En PHP, les parties html sont envoyées vers la sortie standard de la même manière que le font echo et print.

  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    sinon au lieu d'un popup et en attendant un ajax tu pourrais passer par un iframe caché ...du coup plus besoin de t'inquieter de le fermer, il te suffira juste de converser entre mère et fille ...

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 64
    Points : 41
    Points
    41
    Par défaut
    J'ai lu un petite doc sympa (lien) sur le iframe sauf que je vois pas du tout a quoi il est utile dans mon probleme?

    Genre je mettrais un iframe invisible en bas de ma page mere qui genererait ma page fille ou il y a la requete? Petit schema vaut mieux que de longues phrases incomprehensible ^^

    Page mere:
    Blabla... Formulaire etc.
    Mon bouton modifier qui fait appel a mon fameux iframe.
    Iframe vers maPageFille

    Page Fille:
    La requete d'update.


    C'est bien ca a quoi tu penses? Sinon j'ai pas du tout compris le principe du iframe ^^

    Merci bien

  15. #15
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    heu non...

    tu fais l'update coté serveur à partir de la fille et du coup pas besoin de popup, juste un message sur la mère ...

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

Discussions similaires

  1. [Debutant] compilation automatique
    Par Yannos94 dans le forum JBuilder
    Réponses: 5
    Dernier message: 05/09/2007, 15h08
  2. fermeture automatique pc a distance
    Par Chromatic dans le forum Windows XP
    Réponses: 10
    Dernier message: 15/05/2006, 19h04
  3. [Debutant]Horodatage automatique des sources
    Par EvilAngel dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 01/11/2005, 15h22
  4. Menu déroulant à fermeture automatique
    Par michelsylv dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/10/2005, 16h35
  5. [debutant] Fermeture de fenetre
    Par wkd dans le forum Agents de placement/Fenêtres
    Réponses: 26
    Dernier message: 04/06/2004, 17h01

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