|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Webmaster Inscription : avril 2011 Messages : 9 ![]() |
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 :
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 :
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 !
|
||||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : janvier 2011 Messages : 2 933 ![]() |
Bonsoir,
si c'est un problème de cache Code :
var url = "modele/trait_supprime_jour_ferie.php" +"?nocache=" +new Date(); |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Webmaster Inscription : avril 2011 Messages : 9 ![]() |
Malheureusement ça ne fonctionne pas, la page reste désespérément figée tant que je ne reclique pas sur le bouton OK
|
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : janvier 2006 Messages : 1 107 ![]() |
A mon avis, il y a un truc qui ne va pas dans ce que tu fais: pourquoi faire une requete Ajax, si par derrière tu recharges ta page (cf setTimeout(function(){document.location.href = "index.php?page=gestion_jours_feries"}, 2000); ) ?
Supprime simplement la ligne de ton tableau (si c'est cette structure html que tu as utilisé) dans le onsuccess de ta fonction ajax. |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Webmaster Inscription : avril 2011 Messages : 9 ![]() |
En fait l'instruction qui recharge la page n'y était pas à l'origine, c'était un test pour essayer de rafraichir la page...je l'ai enlevé depuis.
Pour ta soluce, le truc c'est que c'est bien un tableau HTML en effet, mais qui est généré en PHP dans un autre traitement ! |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Webmaster Inscription : avril 2011 Messages : 9 ![]() |
Bon ça y est j'ai trouvé !
J'ai mis "asynchronous: false," à ma requête Ajax et maintenant la ligne disparait ! |
|
|
00
|
|
|
#7 |
![]() ![]() Inscription : janvier 2006 Messages : 1 107 ![]() |
Peu importe, à partir du moment où le code est généré, et envoyé au client, tu n'as plus que du html à manipuler.
Il te suffit d'utiliser la fonction qui supprime une ligne dans un tableau ([table].removeRow de mémoire). |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Webmaster Inscription : avril 2011 Messages : 9 ![]() |
Ah d'accord, merci en tout cas pour cette solution, je vais la tester également.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com