Bonjour,
Je suis débutant en javascript et, j'ai actuellement un problème relatif à mon code.
Je réalise une petite interface web pour gérer les processus sur un serveur perso et j'ai donc produit ce code :
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
(function(){
 
    var buttons = document.getElementsByTagName('input');
 
        for (var i = buttons.length - 1; i >= 0; i--) {
            buttons[i].onclick = function(){
                toggleServer(this.id);
            }
        };
 
        function toggleServer(server)
        {
            if(isRunning(server) != true)
            {
                disableOthers(server);
            }
            else
            {
                enableOthers(server)
            }
        }
 
        function disableOthers(server)
        {
            for (var i = buttons.length - 1; i >= 0; i--) {
                if(buttons[i].id != server)
                {
                    buttons[i].disabled = true;
                }
            };
        }
 
        function enableOthers(server)
        {
            for (var i = buttons.length - 1; i >= 0; i--) {
                if(buttons[i].id != server)
                {
                    buttons[i].disabled = '';
                }
            };
        }
 
        function isRunning(server)
        {
            var xhr = new XMLHttpRequest();
            var response;
            xhr.open('GET', 'ajax.php?server=' + server);
 
            xhr.onreadystatechange = function()
            {
                if(xhr.readyState == 4 && xhr.status == 200)
                {
                    response = xhr.responseText;
                }
 
                return response;
            };
 
            xhr.send(null);
 
        }
 
        (function manageButtonsAtStarting()
        {
            for (var i = buttons.length - 1; i >= 0; i--) {
                if(isRunning(buttons[i].id) == 'true')
                {   
                    buttons[i].disabled = '';
                }
                else
                {
                    buttons[i].disabled = 'true';
                }
            }
        })();
 
    })();
Or, quand j'essaie d'afficher le code "isRunning('java')" avec un "alert()', je tombe sur un "undefined", alors que la fonction ci-dessus retourne xhr.responseText, une chaîne de caractères qui vaut soit 'true', soit 'false'.
Il y aurait-il une subtilité que je n'aurais pas comprise ?
Merci d'avance pour votre aide !