Bonjour,
je suis confronté à un problème que je n'arrive pas à résoudre. Sur mon application, je rempli une div en faisant appel à ajax. Du coup, je peux naviguer dans les différentes pages sans avoir à rafraîchir tous le site à chaque changement de page.
Cette partie fonctionne bien grâce qu code suivant (j'ai un blockUI pour affichier l'image de load):
Donc jusqu'ici pas de prob. J'ai ensuite voulu ajouter une fenêtre modal pour les différentes actions sur chaque page (formulaires notamment). J'ai donc implémenter jqmodal, et là aussi pas de souci:
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
20
21
22
23 // action sur le clique du menu $('.menuItem').click(function(event) { event.preventDefault(); $('.blockMe').block({ message: '<img src="templates/default/img/loading.gif" />', //css: { border: '3px solid #a00' } }); url = $(this).attr('href'); $.ajax({ type: "POST", url: url, cache: false, success: function(ret) { $('.blockMe').unblock(); $("#main").html(ret); }, statusCode: { 404: function() { alert("page not found"); } } }); });
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 {literal} <script type="text/javascript" src="templates/default/js/jq_modal.js"></script> {/literal} <link rel="stylesheet" type="text/css" href="templates/{$TPL}/css/jq_modal.css" /> ... ... <div class="mAction"> <a href="gUtilisateurs.php?do=add" class="jq_modal" title="Ajouter un nouvel utilisateur"><img src="templates/{$TPL}/img/adduser.png" /></a> <a href="gUtilisateurs.php?do=delall" class="jq_modal" title="Supprimer tous les utilisateurs"><img src="templates/{$TPL}/img/truncate.png" /></a> </div>
Donc j'ouvre bien ma popup, et j'exécute bien mon formulaire, et dans cet exemple, je crée un utilisateur. pas de problème. Je veux maintenant fermer ma modal et revenir à la page parente. Je clique sur la croix, et hop, je me retrouve bien sur ma page utilisateur, mais avec les anciennes données puisque je ne l'ai pas rafraîchit.
Pour rafraichir ma page parente, j'ai essayé de mettre un parent.location.reload lors du click sur la croix. pas de prob, ma page parente se reload, mais .... c'est le drame. C'est carrément le site qui se reload entièrement et je me retrouve sur la page d'accueil.
Et oui, puisque je load une div avec le contenu d'autres page, mon URL ne bouge jamais. Alors je cherche un moyen de reloader juste la div de la page parente déjà ouverte avec le contenu d'une nouvelle exécution de la page qui permettra d'avoir la mise à jour qui vient juste d'être faite.
exemple:
- J'ouvre le formulaire d'ajout d'un utilisateur
- Je crée l'utilisateur
- j'appuie sur la croix
- La div parente (#main) se recharge avec le contenu de l pahe utilisateur.php qui renvoi la nouvelle liste d'utilisateur.
Y a t il un moyen de faire ça ? J'espère que vous pourrez m'aider.
Partager