Actualisation Grid et xhrPost
Bonjour,
Je me suis inspiré de ce fil pour mettre à jour le Store d'un composant Grid de Dojo : http://www.developpez.net/forums/d80...grid-datagrid/
Quand je charge ma page la première fois, j'ai ce code :
Code:
1 2 3 4 5
| <span dojoType="dojo.data.ItemFileReadStore" jsId="store1" url="<?php echo POSITION.'inclus/depenses/deptdb/deptdb_contenu.php'; ?>">
</span>
<table dojoType="dojox.grid.DataGrid" jsId="grid" id="grid" store="store1">
... |
Ca marche : mon fichier php renvoie bien un echo au format JSON... et ma grille s'affiche !
Je souhaite pouvoir la mettre à jour (afficher des sources/stores différents) de multiples manières et j'ai donc créé un petit formulaire sur le côté de la page. Les boutons sur le formulaire font appel à une fonction JS telle que :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| function updatedata(){
dojo.byId("deptdb").innerHTML="<img alt=\'Patientez svp\' src='<?php echo POSITION.'inclus/js/dojox/image/resources/images/loading.gif'; ?>'>";
dojo.xhrPost( {
url: "<?php echo POSITION.'inclus/depenses/deptdb/deptdb_contenu.php'; ?>",
form: dojo.byId("tdbmenu"),
handleAs: "text",
timeout: 5000,
load: function(response, ioArgs) {
dijit.byId("grid").setStore(response);
return;
},
error: function(response, ioArgs) {
dojo.byId("deptdb").innerHTML = 'Serveur occupé ... <a href="#" onClick="updatedata()">Actualiser</a>';
return response;
}
});
} |
Ce code déclenche l'argument error: de la fonction.... :calim2:
Pourtant, si dans l'argument load je mets : dojo.byId(un div quelconque).innerHTML=response; j'affiche bien une chaîne de caractères au format JSON dans le div concerné. Donc mon petit script Php renvoie bien ce qu'on lui demande.
Où est-ce que je me trompe ??
Merci de votre aide !
PS : est-ce que ensuite je pourrai changer le nombre de colonnes et leur champ field, sans avoir non plus à recharger la page ??