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 05/04/2011, 10h57   #1
Invité de passage
 
Inscription : décembre 2004
Messages : 13
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 13
Points : 4
Points : 4
Par défaut Message de Chargement ne s'affiche pas si je ne mets pas d'alert

Salut, j'essaye de faire quelque chose de simple: afficher un div en début d'affichage d'une fonction et le cacher à la fin de l'execution de celle ci.

En HTML j'ai:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<input id="linkP2" type="button" value="Prévisualiser" class="Button2_Small" runat="server" onclick="sauvegarde();this.parentNode.click();" />
 
        <div runat="server" id="divLoadingWaitingMsg" style="Z-INDEX: 450; FILTER: alpha(opacity:65); LEFT: 0px; MARGIN: 0px; WIDTH: 100%; CURSOR: wait; POSITION: absolute; TOP: 0px; HEIGHT: 100%; BACKGROUND-COLOR: #ffffff; display: none;">
        	<table height="100%" cellSpacing="0" cellPadding="0" width="100%" align="center" border="0">
        		<tr>
        			<td id="tdWaitMsg" vAlign="middle" align="center">
        				<div class="divLoadingMessageDisplayed">
        					<span>Veuillez patienter,<br>
        						chargement en cours...</span>
        					<div id="divImgLoadingPleaseWait"></div>
        				</div>
        			</td>
        		</tr>
        	</table>
        </div>
Au niveau JS:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
function sauvegarde()
{
     XLOAD(true);
     // LONG TRAITEMENT
     XLOAD(false);
}
function XLOAD(action)
{
    if(action==true) {
        document.getElementById("divLoadingWaitingMsg").style.display = "block";
        alert("chargement... appuyez sur OK");
    }
    else {
        document.getElementById("divLoadingWaitingMsg").style.display = "none";  
    }
}
Je suis obligé de laisser le alert(...) qui est modal si je veux que l'effet désiré (message de chargement) se réalise. Si j'enlève l'alert, il n'y aura aucun affichage du div.

Est-ce que vous avez une idée pourquoi?
Killua69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 11h09   #2
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 074
Points : 4 074
Le DOM ne doit pas avoir le temps de s'actualiser, essaie de placer la deuxième partie dans un mini setTimeOut, genre :
Code javascript :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function sauvegarde()
{
     XLOAD(true);
     setTimeout(function() {
        // LONG TRAITEMENT
        XLOAD(false);
     }, 100);
}
function XLOAD(action)
{
    if(action==true) {
        document.getElementById("divLoadingWaitingMsg").style.display = "block";
        //alert("chargement... appuyez sur OK");
    }
    else {
        document.getElementById("divLoadingWaitingMsg").style.display = "none";  
    }
}
On pourrait d'ailleurs écrire ta fonction XLOAD comme ceci :
Code javascript :
1
2
3
4
function XLOAD(action)
{
    document.getElementById("divLoadingWaitingMsg").style.display = action ? "": "none";
}
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 11h28   #3
Invité de passage
 
Inscription : décembre 2004
Messages : 13
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 13
Points : 4
Points : 4
Merci! Problème résolu
Killua69 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 +2. Il est actuellement 05h28.


 
 
 
 
Partenaires

Hébergement Web