Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fermer une fenètre au bout d'un certains temps

Sujet résolu
    11 juin 2010 à 10:32:15

    Bonjour,

    j'ai un site qui une interface graphique de mise à jour de base de données développée avec PHP/Mysql.

    Une fois toutes les lignes de ma table affichée, une petit boutton arrive pour 'éditer' cette ligne.
    Celui ci ouvre une popup et permet la modification de cette ligne.
    Une fois la mise à jour effectuée, avec succès, j'aimerais que cette fenêtre ce ferme automatiquement après 4/5 secondes (histoire que l'utilisateur ait le temps de lire que ça a marché.)

    J'ai lu sur le net que ça se faisait avec un évènement onLoad de la balise body. Mais voilà, toucher à la balise body m'est très difficile : En pratique je n'est que index.php et popup.php qui s'affiche, avec des include et des fonctions en fonction des paramètres GET (menu=qqch, action=editer etc...) donc je n'ai pas accès au body dans la fonction d'edition...

    J'ai essayé sur le onLoad d'un <div> (que je met autour du <p>insertion effectuée blabla... </p>) ma ça ne marche pas :/
    echo '<div onLoad="setTimeout(window.close(), 5000);">';
    p("Insertion &eacute;ffectu&eacute;e avec succ&egrave;s.");
    echo '</div>';
    


    Il y quelquechose que je que je manque?

    merci d'avance :)
    • Partager sur Facebook
    • Partager sur Twitter
      11 juin 2010 à 12:33:26

      Tu peux faire un window.onload dynamique, à défaut d'écrire dans le <body>.
      • Partager sur Facebook
      • Partager sur Twitter
        11 juin 2010 à 12:38:59

        echo '<div onLoad="setTimeout(window.close, 5000);">';
        Essaie ça sinon...
        • Partager sur Facebook
        • Partager sur Twitter
          11 juin 2010 à 12:40:20

          Seul le body a un "onload"... Ne persistez pas... >_<

          EDIT : Ah non, les images aussi.
          • Partager sur Facebook
          • Partager sur Twitter
            11 juin 2010 à 12:51:55

            Ce qui est sûr c'est que setTimeout(window.close() , 5000) ne marchera pas, du fait qu'il ne faut pas mettre les parenthèses... :)
            mais bon, pour faire comme dit Golmote, ça donnerait un truc du genre :
            <script type="text/javascript">
            setTimeout(window.close,5000);
            </script>
            

            (à afficher dans la div, donc)
            • Partager sur Facebook
            • Partager sur Twitter
              11 juin 2010 à 13:40:46

              Merci à vous :)

              ayant besoin de cette fonction souvent, j'en ai crée une. je la donne si ça aide qqn :
              function fermerDans($secondes=5)
              {	
                     if($secondes>=0){
              		$temps = $secondes * 1000;
              		echo '<script type="text/javascript">';
              		echo "	setTimeout(window.close,$temps);";
              		echo '</script>';
              	}
              	else
              	{
              		echo '<p><input name="Submit" type="submit" onClick="window.close()" value="Fermer cette fen&ecirc;tre"></p>';
              	}
              }
              


              D'un point de vu strictement w3c, devrais-je rajouter une balise <p> par exemple pour mettre le script dedans?
              à partir du moment ou rien ne s'affiche je ne sais pas si c'est utile? o_O

              encore merci! :)

              edit : Gestion de l'erreur sur l'argument, Mise en place d'une valeur par défaut.
              • Partager sur Facebook
              • Partager sur Twitter
                11 juin 2010 à 15:11:42

                Pas de soucis normalement pour le w3c ;)
                Pense à mettre en résolu.
                • Partager sur Facebook
                • Partager sur Twitter
                  11 juin 2010 à 15:30:28

                  Citation : birdy42

                  Pas de soucis normalement pour le w3c ;)
                  Pense à mettre en résolu.


                  Merci de la confirmation :)

                  PS :
                  je l'avais mis en résolu, mais du coup, j'ai eu peur que personne ne repasse pour répondre à ma question w3c :p

                  allez hop, résolu :D
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Fermer une fenètre au bout d'un certains temps

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown