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 :

Raffraichissement d'une page en javascript


Sujet :

JavaScript

  1. #1
    Invité
    Invité(e)
    Par défaut Raffraichissement d'une page en javascript
    Je vous explique mon problème, je suis en train de développer un projet en php, ajax/javascript, xhtml, css avec une base de données mysql, j'utilise wamp server.


    A un moment dans mon application j'ouvre une nouvelle fenetre, grâce à la fonction open() de javascript, à partir d'une page "principale.php" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    			<input
    			id="buttonOpenWindow"
    			style="cursor: pointer;background: #aac5ce; color: white;" 
    			type="button"
    			value="Ajouter"
    			onclick="ouvre_popup('enregistrerPhotoInDb.php')"				                                                
    				/>
    J'ouvre cette fenetre pour pouvoir faire un traitement précis dans cette fenetre (upload d'une image sur le serveur). A la fin de l'upload j'affiche un alert, qui s'affiche correctement, et je ferme la fenêtre que nous avons ouvert précédemment via le window.open(...). La fenetre se ferme gentillement rien d'anormal, ensuite je retombe sur ma page "principale.php" et la je veux donc rafraichir celle-ci; et la pas moyen, aucune ligne de code ne passe, apres le window.close(); je n'arrive pas à rafraichir ma page "principale.php" on dirait que je n'ai plus le focus sur celle-ci, j'ai fouillé dans la doc javascript sur le net mais j'ai rien trouvé, j'ai tout essayé.
    Voici mon code JavaScript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    	function message1()
    	{
    		alert("Le portrait a bien été ajouté dans l'application web");
    		window.close();
    		//setTimeout("window.close()", 1000);
     
    		//setTimeout('location = "http://localhost/siteAgendaOnline/listerLesContacts/ficheContact.php"', 1000);
    		setTimeout("window.focus()", 5000);
    		setTimeout("window.location.replace('./ficheContact.php')", 10000);
    		//setTimeout('window.location.reload()', 1000);
    		//setTimeout('alert(\'saluttttt\')', 5000);
    	}
    	//fin message1()

    Merci de m'aider au plus vite s.v.p, en vous remerciant d'avance, je compte sur vous.

    De la part d'un étudiant en retard malheureusement.
    Dernière modification par SpaceFrog ; 01/06/2009 à 08h51.

  2. #2
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    bonjour,

    message1() est appelé dans le popup ?
    tu fermes le popup (window.close()) puis tu tentes de le rafraîchir(window.focus()) alors qu'il n'existe plus.

    ce que tu dois faire (si j'ai compris) c'est rafraîchir principale.php (window.opener) avant de fermer le popup (window)

  3. #3
    Invité
    Invité(e)
    Par défaut
    Ok t'as tout compris, c'est exactement ça, mais comment rafraîchir principale.php (via window.opener) avant de fermer le popup (window).

    Peux-tu stp me donner la ligne de code à ajouter dans ma fonction message1() avant la ligne de code window.close() pour rafraîchir ma fenêtre principale.php ?

    Cordialement alino-91, merci pour ton aide.

  4. #4
    Invité
    Invité(e)
    Par défaut
    c'est bon je viens de trouver, voila le bon code corrigé et qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	function message1()
    	{
    		alert("Le portrait a bien été ajouté dans l'application web");
    		window.opener.location.reload();
    		//setTimeout("window.close()", 1000);
    		window.close();
    	}
    	//fin message1()
    merci beaucoup pour l'aide, néanmoins avant de mettre ce sujet en résolu, j'aurai une autre question à poser en JavaScript, toujours dans le même contexte :

    Quand je clique sur ce bouton dans ma page "principale.php" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    						<input
    							id="buttonOpenWindow"
    							style="cursor: pointer;background: #aac5ce; color: white;" 
    							type="button"
    							value="Ajouter"
    							onclick="ouvre_popup('enregistrerPhotoInDb.php')"
    						/>
    J'appelle ces deux fonction JavaScript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    	function ouvre_popup(page) 
    	{
    		document.getElementById('buttonOpenWindow').disabled = "true";
        	MyPopup = window.open(page, "", "left=380,top=280,width=500,height=150");
    		setTimeout("Scanner()", 1000);
       	}
    	//fin ouvre_popup(page) 
     
     
    	function Scanner(){
     
    		if (MyPopup.closed) {
    			alert("Le popup a été fermé");
    			//window.opener.document.getElementById('buttonOpenWindow').disabled = "false";
     
    window.focus();
    			document.getElementById('buttonOpenWindow').disabled = "false";
    		}else{
    			setTimeout("Scanner()", 1000);
    		}
     
    	}
    	//fin function Scanner()
    Quand je ferme la fenêtre ouverte via la croix rouge en haut à droite, le alert s'execute bien mais le bouton qui a pour id="buttonOpenWindow" reste toujours désactivé, alors que je cherche à le réactiver quand l'utilisateur ferme la fenetre ouverte via la croix ?

  5. #5
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    Salut,

    essaies avec un vrai booléen
    true / false au lieu de "true" / "false"

  6. #6
    Invité
    Invité(e)
    Par défaut
    ça fonctionne nickel merci beaucoup.
    Dernière modification par bigboomshakala ; 01/06/2009 à 19h23. Motif: ;) de rien. tag Résolu

  7. #7
    splash68
    Invité(e)
    Par défaut
    Ca m'a également aidé merci à ce forum !

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

Discussions similaires

  1. Raffraichissement d'une page + ASP dans un script?
    Par jamesleouf dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 03/06/2008, 15h58
  2. Réponses: 1
    Dernier message: 30/04/2008, 12h21
  3. Changer l'url d'une page en Javascript sans perdre le referrer
    Par fross dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 27/02/2007, 10h47
  4. Rafraichir une page sans javascript et <meta>
    Par enguerran dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/06/2006, 08h46
  5. [Javascript] rediriger sur une page en javascript
    Par tioseb dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/02/2006, 14h55

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