Salut à tous,
J'ai une page HTML avec la fonction Javascript suivante :
et dans le code HTML j'ai
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 function Export() { document.Frame_Export.location.href='/script/export.dll/Export_Fiche'; document.all('textDiv').style.display='inline'; <!-- BOUCLE D'ATTENTE DE GENERATION DU FICHIER --> date = new Date(); var curDate = null; do { var curDate = new Date(); } while(curDate-date < 5000); <!-- TELECHARGEMENT DU FICHIER --> XLS.click(); document.all('textDiv').style.display='none'; }
Le but étant d'afficher un message d'attente pendant que le fichier est généré coté serveur, puis d'ouvrir automatiquement une fenêtre de téléchargement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <!-- BOUTON POUR GENERER LE FICHIER DANS l'IFRAME --> <form method="Post" action="javascript:Export()"> <input type="submit" value="Export" class="button" > <div id="textDiv" style="display:none;">Préparation du fichier...</div> </form>
Tout fonctionne bien, sauf que le "...display=inline" ne s'effectue qu'APRES que la boucle d'attente soit finie, ce qui ne sert strictement à rien, du coup.
Par contre, si j'intercale un "alert('toto')" entre le "...display=inline" et la boucle, le texte apparait bien au moment ou la popup d'alerte s'affiche, et avant le début de la boucle. Ce qui est débile !
Y a t'il une ruse pour forcer le refresh d'un élément ?
Ou bien autre chose qui m'échappe ???
Ca me rend dingue ce truc !!
Merci d'avance pour vos réponses
Partager