Bonjour,
je developpe une application AJAX et je me sers de DOJO pour faire des appels asynchrones au serveur sur lequel j'ai une page PHP qui me delivre les informations dont j'ai besoin. J'ai un problème avec la soumission d'un formulaire... J'utilise dojo.io.bind pour soumettre ce formulaire de manière asynchrone, seulement voila je n'arrive en aucune manière à recupérer les informations données par ma page PHP (avec l'option load : ... ). J'y arrive très bien lorsqu'il ne s'agit que d'un appel asynchrone sans soumission de formulaire, et j'arrive très bien à soumettre un formulaire lorsque je n'ai pas besoin de recuperer les données... Je vous donne le code de ma fonction...
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 function add_one_doc(){ if(confirm("Voulez vous ajouter le document "+document.getElementById('one_file').value+" ?")){ dojo.require("dojo.io.IframeIO"); dojo.io.bind({ url : "actions.php?action=upload_document", method: "post", load : function(type,data,evt){ alert("Même ce message ne s'affiche pas ..."); var wait=document.getElementById('busy'); wait.style.display='block'; var list_char_length=parseInt(data.charAt(0)); var list_char=data.substring(1,list_char_length+1); var empty_field=data.substring(list_char_length+1,data.indexOf(list_char,list_char_length+1)); var datax=data.substring(empty_field.length+list_char.length+2,data.length); var datas = new Array(); if(datax.indexOf(list_char)== -1) datas[0]=datax; else datas=datax.split(list_char); if(datas.length>0){ if(datas[0]=="1"){ document.getElementById('one_file').value=""; alert("Document ajouté avec succès\n\nN'oubliez pas de donner un titre et une descriptions à votre nouveau document. (Par défaut le titre sera le nom du fichier)"); get_documents("affiche"); } else erreur("Il y a eu un problème lors de l'ajout du document "); wait.style.display='none'; } else erreur("Erreur : " + datas[1]); }, error : function(type,error){ alert("AJAX error : "+error);}, formNode: document.getElementById('add_one_doc_form'), mimetype: "text/plain" }); } }
Partager