Salut à tous,

J'ai une page HTML avec la fonction Javascript suivante :

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';
 }
et dans le code HTML j'ai

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" >&nbsp;
  <div id="textDiv" style="display:none;">Préparation du fichier...</div>
 </form>
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.

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