salut,
j'ai un petit souci que je ne m'explique pas, sans doute pourrez-vous m'aider.
J'ai une page php (file_manager.php) dans laquelle se trouve une requete AJAX qui va vers un autre fichier php (get_folder_content.php) qui fait certaines actions en fonction des variables passées.
ça fonctionne bien, sauf pour une qui se déroule en deux étapes :
* Première action: je récupère via responseText un formulaire tout simple (pour entrer le nom d'un nouveau dossier), jusque là ça marche
* Seconde action: je soumet le formulaire pour créer le dossier.
mais c'est là le problème, if(req.status == 200) n'est jamais vérifié !
Si j'affiche directement ma page get_folder_content.php directement avec les bonnes variables dans l'url, elle s'affiche correctement!
voici ma fonction AJAX - pour reprendre un peu avec les tests que je me suis mis, quand new_folder == 2, test6 ne s'affiche jamais...
voici le contenu de ma page get_folder_content.php (je ne met pas tout)
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
42
43
44
45
46 function getFolderContent(f_id,new_folder){ var req = null; if(window.XMLHttpRequest) //firefox req = new XMLHttpRequest(); else if (window.ActiveXObject) {//IE try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { req = new ActiveXObject("Microsoft.XMLHTTP"); } } req.onreadystatechange = function(){ if(req.readyState == 4) { alert('test5') if(req.status == 200) { alert('test6') document.getElementById("folder_content").innerHTML= req.responseText; } else { alert("error") } } }; // GET THE CONTENT OF ONE SELECTED FOLDER if (f_id != ''){ req.open("GET", "../functions/get_folder_content.php?folder_id=" + f_id); req.send(null); } //DISPLAY THE FORM TO CREATE A NEW FOLDER if (new_folder != ''){ if (new_folder == 2){ new_name = document.forms["new_folder_form"].elements[0].value alert(new_name + new_folder) req.open("GET", "../functions/get_folder_content.php?new_folder=" + new_folder + "&new_folder_name=" + new_name); } else { req.open("GET", "../functions/get_folder_content.php?new_folder=" + new_folder); } req.send(null); } return false }
Merci d'avance pour le ptit coup de pouce
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 if (isset($_GET['folder_id'])){ ... } elseif (isset($_GET['new_folder'])){ if ($_GET['new_folder'] == 1){ echo '<tr><td align="center"> Please enter here the name of your new folder<br> <form name="new_folder_form" onsubmit="getFolderContent(\'\',\'2\')"> <input type="text" name="new_folder_name"> <input type="submit" value="create"> </form> </td></tr>'; } elseif ($_GET['new_folder'] == 2 && !empty($_GET['new_folder_name'])){ $new_folder_name = $_GET['new_folder_name']; echo '<tr><td align="center"> New folder '.$new_folder_name.' created, thanks ! </td></tr>'; } }
Julien
Partager