Bonjour à tous,
Je cherche à effectuer des actions à la suite d'une requête.
Par exemple, une textbox actualise une zone de résultat à chaque fois que l'on rentre un nouveau caractère. Des indicateurs de recherche permettent de voir qu'une requête est en cours (un rond qui tourne pour indiquer un chargement).
Voici mon code :
Pour ce qui est du ClientID et GetPostBackEventReference, c'est une utilisation avec l'ASP.NET webforms sur ce projet, mais cela n'a pas d'importance ici.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $("#<%=searchResetWait.ClientID %>").toggle(true); eval("<%=Page.ClientScript.GetPostBackEventReference(btnSearch, String.Empty) %>"); $("#<%=searchResetWait.ClientID %>").toggle(false);
Avec ce code, l'actualisation du searchResetWait ne se fait pas car le JS va trop vite et à peine a-t-il mis le toggle(true) qui le remet à false.
J'avais pensé à :
Le symbole se met à jour et permet d'indiquer qu'un chargement est en cours, mais dure seulement 0,3 secondes. Or, la requête peut prendre 0,3 secondes ou 1 seconde, du coup mon symbole s'enlève avant même que la requête se termine...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 setTimeout(function() { $("#<%=searchResetWait.ClientID %>").toggle(false); } , 300);
Y a-t-il un moyen que le toggle false se finisse une fois que la requete se finit, afin de correspondre au temps de chargement de la réponse ?
Merci par avance de votre aide !
Partager