Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 18/03/2010, 10h01   #1
Nouveau Membre du Club
 
Matthieu Maquevice
Inscription : février 2008
Messages : 106
Détails du profil
Informations personnelles :
Nom : Matthieu Maquevice
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2008
Messages : 106
Points : 37
Points : 37
Par défaut existe-il un évènement qui détecte la réception de la requete ?

Hello,

J'ai un petit souci :

Je génère un document côté serveur, qui me le propose au téléchargement ensuite... tout fonctionne bien excepté que je met un message d'attente côté client via javascript avant mon submit, et que je ne peux pas l'arreter car du javascript après le submit (dans le but de fermer le message d'attente) ne sera jamais atteint.. et ma page précédente reste donc affiché pour l'utilisateur.

Des idées?? merci
-=mateo=- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 10h06   #2
Responsable Modération
 
Homme
Inscription : janvier 2007
Messages : 9 037
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2007
Messages : 9 037
Points : 14 651
Points : 14 651
Re !
ben oui, mais normalement le submit recharge la page.
Le message devrait être "nettoyé" à cette occasion ...
Tu utilises des frames ?

A+
E.Bzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 10h17   #3
Nouveau Membre du Club
 
Matthieu Maquevice
Inscription : février 2008
Messages : 106
Détails du profil
Informations personnelles :
Nom : Matthieu Maquevice
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2008
Messages : 106
Points : 37
Points : 37
Non je n'utilise pas de frame. La page n'est pas rechargée car le navigateur détecte via la requete qu'il s'agit d'un document, et me le propose en téléchargement en laissant la page telle quelle
-=mateo=- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 10h25   #4
Responsable Modération
 
Homme
Inscription : janvier 2007
Messages : 9 037
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2007
Messages : 9 037
Points : 14 651
Points : 14 651
OK.
On peut voir le code (du form, mais surtout de l'ouverture/fermeture du message d'attente) ?

A+
E.Bzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 10h55   #5
Nouveau Membre du Club
 
Matthieu Maquevice
Inscription : février 2008
Messages : 106
Détails du profil
Informations personnelles :
Nom : Matthieu Maquevice
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2008
Messages : 106
Points : 37
Points : 37
Bien sur :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
function submitForm(){
 
montrerMessageAttente();	    
document.strutsForm.submit();  
 
}
 
<html>
...
<input type="button" value="Action" onClick="submitForm();">
</html>
Le problème est que "montrerMessageAttente();" affiche le message, mais je ne sais pas où mettre "cacherMessageAttente();" car il ne sera pas pris en compte après le submit.

Je ne vois pas comment faire à part mettre un évènement sur le réception de la requete, et cacher le message si l'évènement se produit mais je ne sais pas si c'est possible... merci!
-=mateo=- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 10h59   #6
Responsable Modération
 
Homme
Inscription : janvier 2007
Messages : 9 037
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2007
Messages : 9 037
Points : 14 651
Points : 14 651
Heu ... merci, mais ce qu'il faudrait aussi (et surtout) c'est le code de la fonction montrerMessageAttente()

A+
E.Bzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 11h52   #7
Nouveau Membre du Club
 
Matthieu Maquevice
Inscription : février 2008
Messages : 106
Détails du profil
Informations personnelles :
Nom : Matthieu Maquevice
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2008
Messages : 106
Points : 37
Points : 37
ok ok :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
 
function montrerMessageAttente() {
 
      document.getElementById('messageAttente').style.visibility="visible";
 
}
 
function cacherMessageAttente() {	
	        document.getElementById('messageAttente').style.visibility="hidden";
 
}
Merci!
-=mateo=- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 12h02   #8
Responsable Modération
 
Homme
Inscription : janvier 2007
Messages : 9 037
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2007
Messages : 9 037
Points : 14 651
Points : 14 651
Dans ton code actuel tu n'appelle pas cacherMessageAttente()

Ca fonctionnerait pas ça
Code :
1
2
3
4
5
function submitForm(){
montrerMessageAttente();
setTimeout(function() {self.onfocus=function() {cacherMessageAttente();};}, 10);
document.strutsForm.submit();
}
avec
Code :
1
2
3
4
function cacherMessageAttente() {
self.onfocus=function() {;};
document.getElementById('messageAttente').style.visibility="hidden";
}
?

A+
E.Bzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 12h11   #9
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 4 774
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 4 774
Points : 6 723
Points : 6 723
Bonjour,
Pourquoi ne pas utiliser display à la place de visibility?
Y en avait qui ont eu des problèmes avec visibility.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 16h35   #10
Nouveau Membre du Club
 
Matthieu Maquevice
Inscription : février 2008
Messages : 106
Détails du profil
Informations personnelles :
Nom : Matthieu Maquevice
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2008
Messages : 106
Points : 37
Points : 37
J'ai testé mais ça ne fonctionne toujours pas

L'image d'attente est un gif, et ce dernier reste figé une fois que le navigateur a reçu la réponse du serveur et me propose le téléchargement du document...

L'idée était pas mal en tout cas.
-=mateo=- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 16h39   #11
Responsable Modération
 
Homme
Inscription : janvier 2007
Messages : 9 037
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2007
Messages : 9 037
Points : 14 651
Points : 14 651
Citation:
Envoyé par -=mateo=- Voir le message
une fois que le navigateur a reçu la réponse du serveur et me propose le téléchargement du document...
Mon idée en faisant ça était qu'il se masque après que le document soit téléchargé (après que la fenêtre de téléchargement ait disparue).
Tu as essayé en augmentant le timeout ? En fait il faudrait qu'il se déclenche après que tu ais la proposition de téléchargement (quand ta fenêtre n'a déjà plus le focus) ...

A+
E.Bzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 16h45   #12
Nouveau Membre du Club
 
Matthieu Maquevice
Inscription : février 2008
Messages : 106
Détails du profil
Informations personnelles :
Nom : Matthieu Maquevice
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2008
Messages : 106
Points : 37
Points : 37
En fait il ne se déclenche jamais. Tout se passe comme si la navigateur perdait la main sur le traitement de la page.
-=mateo=- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 17h01   #13
Responsable Modération
 
Homme
Inscription : janvier 2007
Messages : 9 037
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2007
Messages : 9 037
Points : 14 651
Points : 14 651


Je comprends plus trop ...

On peut voir le code complet de la page ?

A+
E.Bzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 19h18   #14
Nouveau Membre du Club
 
Matthieu Maquevice
Inscription : février 2008
Messages : 106
Détails du profil
Informations personnelles :
Nom : Matthieu Maquevice
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2008
Messages : 106
Points : 37
Points : 37
Ca y est j'ai trouvé !!!

J'ai rajouté :

Code :
1
2
3
4
5
6
7
 
 
window.onfocus =
	function window_onfocus()
	{
	    cacherMessageAttente();
	}
qui permet de cacher le message lorsque le traitement se termine et que le navigateur récupère la main (mais pas la page).

Merci E.Bzz pour ton aide!

Bonne soirée!
-=mateo=- est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 00h46.


 
 
 
 
Partenaires

Hébergement Web