J'ai une appli web, dont une page montre la liste des messages postés sur un forum. Sur chaque ligne de la liste, une image permet lorsque l'on clique dessus l'ouverture d'un pop up pour écrire un message (c'est une interface de saisie rapide dirons nous). Cette image est affichée avec une valeur alpha à 40% s'il n'y a aucune réponse sur le post, et normale sinon.
Mon problème, c'est qu'en postant une réponse, je n'arrive pas à mettre à jour le style de l'image.
Dans le traitement du post de mon message, je fais les traitements :
- removeClass (je retire la class css de l'image, afin qu'elle s'affiche normalement)
- window.close
- appel d'une méthode javascript (RefreshOnDemand) qui va rafraichir la table jquery qui contient la liste des messages, pour ne recharger que le div qui contient les données
le truc, c'est que quelque chose dans la séquence ne fonctionne pas correctement, parce que le changement visuel n'est pas effectif une fois la fenêtre fermée. Il faut que je provoque un appel manuel à cette fonction RefreshOnDemand (sur un évènement programme sur la touche F8) pour obtenir que le visuel de l'image change...
La question est donc : comment l'obtenir directement à la fermeture de la popup?
J'ai une intuition qui me dit que c'est un pb de focus. En effet, RefreshOnDemand recharge les données dans un div, qui a pour id "display". Et la seule explication que je vois, c'est que l'appel à cette fonction se fait dans le contexte de la pop up, et que cet id n'existe pas.
Il faudrait donc lui faire comprendre que c'est dans la fenêtre parent qu'il doit chercher...
Ou alors, s'il existe un évènement OnClosed que capterait la fenêtre parente, que je branche un écouteur afin qu'il déclanche lui même l'appel à la fonction sur cet évènement OnClosed...
merci pour votre aide
Partager