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...

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
    }
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
 
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>';
    }
}
Merci d'avance pour le ptit coup de pouce

Julien