Problème de raffraichissement

RugbyOne Messages postés 26 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 31 janvier 2011 - 31 janv. 2011 à 18:10
sapakus Messages postés 96 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 10 février 2011 - 10 févr. 2011 à 20:15
Bonjour,

Dans un formulaire j'ai un champ de référence.
Une fois la référence saisie, je fais une recherche de celle-ci dans un fichier excel via un activeX pour récupérer les informations associées. si non trouvé, je laisse compléter l'utilisateur.
La recherche de la référence durant au minimum 3 secondes, j'aimerai mettre un message d'attente pendant la recherche...
Ma fonction s'exécute bien seulement le message ne s'affiche pas car l'affichage n'est pas raffraichit pendant l'exécution du script ! (tabulation ou clic)

Pour être plus clair, je mets un code adapté (la recherche étant simulée par une pause de 3 secondes). Si quelqu'un a une explication ou un bout de code à rajouter pour forcer le raffraichissement de l'écran. Merci.
script.js
function pause(milli)
{
  var date = new Date();
  var curDate = null;
  do { curDate = new Date(); }
  while(curDate-date < milli);
} 

function rechercheRef() {
  document.getElementById("div1").style.display = "none";
  document.getElementById("div2").style.display = "block";

  // simulation du traitement de recherche : pause 3 secondes
  pause(3000);
  document.getElementById("lib").value = "libelle produit";
  document.getElementById("dim").value = "L x l x h";
  
  document.getElementById("div2").style.display = "none";
  document.getElementById("div1").style.display =  "block";
}

test.html
<html>
<head>
<script language ="javascript" src="script.js">
</head>

  <form>
    

      référence,
,

----

libellé,
,

----

dimensions,
,

----

quantité,


    

  </form>
  

    Merci de patienter... Je recherche votre référence !
  


</html>

1 réponse

sapakus Messages postés 96 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 10 février 2011 3
10 févr. 2011 à 20:15
Bonjour,
il faut utiliser la fonction setTimeOut en fait.
<html>
<head>
<script type="text/javascript">
function showhide(id1,id2)
{
document.getElementById(id1).style.display = "none";
document.getElementById(id2).style.display = "block";
}
function rechercheRef()
{
showhide("div1","div2");
// simulation du traitement de recherche : pause 3 secondes
setTimeout(function(){ document.getElementById("lib").value = "libelle produit";
   document.getElementById("dim").value = "L x l x h";
   showhide("div2","div1"); },3000);
}
</script>
</head>

  <form>
    

      référence,
,

----

libellé,
,

----

dimensions,
,

----

quantité,


    

  </form>
  

    Merci de patienter... Je recherche votre référence !
  


</html>


Voilux.


Sapakus
0
Rejoignez-nous