IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Problème avec les fonctions


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Problème avec les fonctions
    Bonjour

    J'ai suivi un tutorial de mozilla (voir ici) pour apprendre à utiliser Ajax. Malheureusement, il y a un problème bizarroïde que je n'arrive pas à résoudre. Voici le 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
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    <script type="text/javascript" language="javascript">
     
        function makeRequest(url) {
     
            var http_request = false;
     
            if (window.XMLHttpRequest) { // Mozilla, Safari, ...
                http_request = new XMLHttpRequest();
                if (http_request.overrideMimeType) {
                    http_request.overrideMimeType('text/xml');
                    // See note below about this line
                }
            } else if (window.ActiveXObject) { // IE
                try {
                    http_request = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    try {
                        http_request = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
                }
            }
     
            if (!http_request) {
                alert('Giving up :( Cannot create an XMLHTTP instance');
                return false;
            }
            http_request.onreadystatechange = function() { alert(url); alertContents(http_request); };
            http_request.open('GET', url, true);
            http_request.send(null);
     
        }
            </script>    
            <script type="text/javascript" language="javascript">
        function alertContents(http_request) {
            alert("test2");
            <script type="text/javascript" language="javascript">
     
        function makeRequest(url) {
     
            var http_request = false;
     
            if (window.XMLHttpRequest) { // Mozilla, Safari, ...
                http_request = new XMLHttpRequest();
                if (http_request.overrideMimeType) {
                    http_request.overrideMimeType('text/xml');
                    // See note below about this line
                }
            } else if (window.ActiveXObject) { // IE
                try {
                    http_request = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    try {
                        http_request = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
                }
            }
     
            if (!http_request) {
                alert('Giving up :( Cannot create an XMLHTTP instance');
                return false;
            }
            http_request.onreadystatechange = function() { alert(url); alertContents(http_request); };
            http_request.open('GET', url, true);
            http_request.send(null);
     
        }
            </script>    
            <script type="text/javascript" language="javascript">
        function alertContents(http_request) {
            alert("test2");
            <!--if (http_request.readyState == 4) {
                if (http_request.status == 200) {
     
                    var output = http_request.responseText;
                                    var temp = new Array();
                                    temp = output.split("LISTOFSR");
                                    output = temp[1];
                                    alert(output);
                                    temp = output.split("---");
                                    for(var i = 0, i < temp.length(), i++)
                                    {
                                        document.forms.jiraform.menuSR.options[i]=new Option('i',temp[i]);
                                        alert(temp[i]);
                                    }    
                        } else {
                        alert('There was a problem with the request.');
                            }
            }-->
     
        }
        </script>
    Vous remarquez déjà qu'il y a à un moment un </script>, suivi par une nouvelle balise d'ouverture de script exactement pareil que celle d'avant. Normalement je ne devrais pas avoir besoin de faire ça (d'ailleurs dans l'exemple du tutorial, ils ne l'ont pas mis). Mais en l'enlevant, je ne peux plus faire appel à la première fonction (si je fais alert("test");makeRequest("www.google.fr") je verrai bien l'alerte, mais la fonction makeRequest ne sera pas exécuté.

    Deuxième problème, l'appel à la fonction alertContents depuis makeRequest donne un résultat similaire: Je vois bien le alert(url), mais la fonction alertContents, qui est un simple alert("test2"), n'est pas exécuté. (A la base, alertContents est plutot la partie qui se trouve en commentaire. Et même en copiant/collant ces instruction à la place de l'appel à la fonction alertContents dans makeRequest, ça ne marche pas)

    S'il vous plaît aidez moi :'(

  2. #2
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 289
    Points
    3 289
    Par défaut
    Corrige déjà ca :
    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
            <!--if (http_request.readyState == 4) {
                if (http_request.status == 200) {
                        
                    var output = http_request.responseText;
                                    var temp = new Array();
                                    temp = output.split("LISTOFSR");
                                    output = temp[1];
                                    alert(output);
                                    temp = output.split("---");
                                    for(var i = 0, i < temp.length(), i++)
                                    {
                                        document.forms.jiraform.menuSR.options[i]=new Option('i',temp[i]);
                                        alert(temp[i]);
                                    }    
                        } else {
                        alert('There was a problem with the request.');
                            }
            }-->
    en /* COMMENTAIRE STYLE LONG EN JS */ ou // COMMENTAIRE STYLE COURT EN JS
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Oki merci. En fait c'est tout con. var moi = honteux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probléme avec les fonctions dans jsp
    Par killer_instinct dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 18/02/2007, 21h39
  2. Problèmes avec les fonctions et replace
    Par Tommyl dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 01/12/2006, 21h34
  3. Réponses: 2
    Dernier message: 10/05/2005, 10h58
  4. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  5. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo