Bonjour � tous!
Apr�s 3 jours de d�b�cle, je m'en remets � vous.
Comme signifi� dans le titre, mon probl�me concerne le rechargement d'une portion de page contenant du Javascript, gr�ce � AJAX.
Je m'explique :
J'ai un formulaire d'ajout de chansons (toujours les m�me projets !!). Lors de la validation de celui-ci, j'utilise XMLHttpRequest qui est cens� faire l'insertion en BD et recharger le contenu d'un DIV. Ce DIV contient � l'origine une table, qui comme vous l'aurez compris contient la liste des chansons.
Donc, lorsque je valide le formulaire, je fais appel � une fonction javascript qui s'occupe d'ins�rer en BD la nouvelle chanson saisie dans le formulaire et de recharger ma table avec les nouvelles valeurs (par un nouveau 'select' en BD).
Fonction JS ex�cut�e lors de la validation :
Contenu du fichier 'insert.php' :
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
24
25 if (window.XMLHttpRequest) { // Mozilla, Safari,... httpRequest = new XMLHttpRequest(); if (httpRequest.overrideMimeType) { httpRequest.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { // IE try { httpRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!httpRequest) { alert("Abandon : blablabla..."); return false; } httpRequest.open('POST', 'insert.php', false); httpRequest.onreadystatechange = function() { if (httpRequest.readyState == 4) { if (httpRequest.status == 200) { setInnerHTML(document.getElementById('reload_div'), httpRequest.responseText); } else { alert('Un problème est ...'); } }
Le fichier 'affich_table.php' �tablit la structure d'un tableau avec les donn�es r�cup�r�s en BD.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11 <?php header('Content-type: text/html; charset=iso-8859-1'); mysql_connect($host,$user,$password) or die ("Erreur de conn.."); mysql_select_db ($database) or die ("Erreur de co"); $req = "insert into ..."; if ( !mysql_query ($req)) { echo "Erreur lors de l'insertion de ...; } else { require_once "affich_table.php"; } ?>
Le souci, c'est que j'ai deux fonctions JS (dans 'affich_table.php') qui permettent le tri en temps r�el de la table et l'affichage d'infobulles. Ces deux fonctions utilisent jQuery.
Quant j'arrive sur la page initialement, le tri et les infobulles marchent correctement. Lorsque je r�alise une premi�re insertion et que ma table est recharg�e, ces deux fonctions ne fonctionnent plus.
Mon probl�me revient donc � l'ex�cution de code JS au travers de la fonctionJ'ai lu �norm�ment de discussion qui traitent de ce sujet. Malheureusement, j'ai n'ai toujours pas de solutions et je suis � pr�sent compl�tement perdus.
Code : S�lectionner tout - Visualiser dans une fen�tre � part httpRequest.responseText
setInnerHTML devait �tre la fonction miracle, qui permettait de 'mettre � jour' un div en prenant en compte le code javascript. Mais cela ne fonctionne pas.
J'ai essay� �galement de recharger uniquement le contenu de la table, placer dans les DIV gr�ce � 'innerHTML' et ensuite de rapell� directement mes fonctions JS. sans succ�s...
Quelqu'un peut m'expliquer la fonction append() propre � jQuery, qui semblerait �tre une solution ?
J'ai besoin d'aide l� ...
Help Me Please...
Partager