Bonjour à tous,
Je travaille actuellement sur un intranet dans le cadre d'un stage.
Il doit être développé pour IE8 (c'est bien là le hic...).
J'ai besoin à plusieurs endroits d'utiliser de l'Ajax et et j'ai des problèmes de rafraichissement qui m'énervent car ça ne le fait pas avec FireFox !
Alors oui je sais que le sujet à déjà été traité, qu'il y a des solutions soi disant qui marchent apparemment parce que chez moi, bah non.
Je vous explique :
J'ai une liste de jours feriés comme ceci :
En fait il faut choisir l'année, cliquer sur le bouton OK et le bloc avec la liste apparait (il est caché initialement).
Pour supprimer un jour férié, j'ai fait un lien pour chaque ligne avec un onclick qui renvoie vers la fonction Javascript ci :
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 function supprimer_jour_ferie(id, libelle) { if(confirm("La suppression sera définitive ! Êtes-vous certain de vouloir supprimer "+libelle+" ?")) { var url = "modele/trait_supprime_jour_ferie.php"; new Ajax.Request(url, { method: 'post', parameters: 'id_jour_ferie='+id, onSuccess: function(transport) { //alert(transport.responseText); $("chargement").style.display = "none"; $("bloc_confirmation").style.display = "block"; setTimeout(function(){$("bloc_confirmation").style.display = "none";}, 2000); setTimeout(function(){document.location.href = "index.php?page=gestion_jours_feries"}, 2000); } } ); } }
Comme vous le voyez je fais une requête Ajax (j'utilise prototype) qui transmet l'id du jour férié et appelle le traitement "trait_supprime_jour_ferie.php" que voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php require_once("../modele/modele.php"); $modele = New Modele(); $bdd = $modele->connexion(); $requete = $bdd->prepare("DELETE FROM jour_ferie WHERE id_jour_ferie = :id_jour_ferie"); $requete->bindValue(":id_jour_ferie", $_POST['id_jour_ferie']); $requete->execute(); $bdd = $modele->deconnexion(); ?>
Le fonctionnement marche ce n'est pas ça le problème, mais si je supprime une ligne, IE8 ne met pas à jour la liste (il faut réactualiser super...) et la page reste telle quelle alors que Firefox supprime la ligne, enfin met à jour la liste quoi !
J'ai essayé plein de chose, le coup des headers (genre "header("Cache-Control: no-cache"); " dans tous les fichiers php (je sais pas trop où il faut les mettre), peut être me suis-je trompé d'endroit ?
Le coup de la variable aléatoire dans la page cible, mais là pareil je sais pas si j'ai fait ça au bon endroit, quoique j'ai essayé tellement de combinaison...
Donc voilà si quelqu'un pouvait m'éclairer sur les 2 solutions que je viens d'exposer où si quelqu'un a une autre solution je suis vraiment preneur !
Merci à tous!
Partager