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 :

Gérer les "undefined" via une fonction


Sujet :

JavaScript

  1. #1
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut Gérer les "undefined" via une fonction
    Si je reprends le code de boa67
    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
    function intervention_technique()
    {
        // On récupère le contenu du textarea n°1
        var content=document.getElementById('t1').value;
        // On sépare chaque ligne du textarea, et on coupe la ligne 2 (index [1]) à partir de 'Mobile :' ici.
        var t=content.split('\n')[1].split('Mobile: ');
        // Le dysfonctionnement est effectivement sur la ligne 3 (index [2]), ça c'est bon
        var d=content.split('\n')[2].split('Dysfonctionnement(s): ');
     
        // Les résultats à insérer sont dans les parties de la ligne après 'Mobile:'
        // On a déjà ces lignes coupées, on récupère donc toute la partie après 'Mobile:'
        var intervention_technique1=t[1];
        var intervention_technique2=d[1]; // ici il fallait donc mettre l'index 1 pour récupérer après 'Dysfonctionnement(s):'
     
        // Donc, pour tous les textareas visés où il faut mettre les infos :
        var textarea=['t3','t4'];
        for (var i_tem = 0; i_tem < textarea.length; i_tem++) {
            // On récupère le contenu du textarea traité et on initialise un résultat final
            var result=document.getElementById(textarea[i_tem]).value, res='';
            
            // On découpe le contenu du textarea actuel en lignes
            var u=result.split('\n');
                // Donc pour chaque ligne, on va...
                for(var i=0; i<u.length; i++) {
                    // Récupérer la fin de la ligne
                    var w='\n';
                    
                    // Enlever des espaces en début/en fin de lignes qui ne servent à rien et risqueraient de fausser l'affichage final (bug n°1 je crois)
                    u[i]=u[i].replace(/^\s+/, '')
                    u[i]=u[i].replace(/\s+$/, '');
                    
                    // Si la ligne est la dernière, on ne va pas récupérer la fin de la ligne
                    if(i==u.length-1) w='';
                    // Si c'est la seconde ligne du textarea
                    if(i==1) {
                        // On remplace la seconde partie de la ligne par le résultat trouvé en début de fonction
                        u[i]=u[i].split('Mobile: ')[0].replace('Mobile:', '')+'Mobile:';
                        w=' '+intervention_technique1+w;
                    }
                    // Si c'est la troisième ligne du textarea
                    if(i==2) {
                        // On remplace la fin de la ligne par le résultat trouvé en début de fonction ici aussi
                        u[i]=u[i].split('Dysfonctionnement(s): ')[0].replace('Dysfonctionnement(s):', '')+'Dysfonctionnement(s):';
                        w=' '+intervention_technique2+w;
                    }
                    // On ajoute la ligne au résultat final
                    res+=u[i]+w;
                }
                // On met à jour le textarea traité
                document.getElementById(textarea[i_tem]).value=res;
                // On cache un bidule (penser à utiliser aussi document.getElementById('update').style.visibility="hidden";, c'est mieux les deux méthodes à la fois je crois. :) )
                document.getElementById('update').style.display="none";
        }
    }
    Je voudrais gérer les messages de type "undefined" avec typeof. J'ai trouvé plusieurs exemples sur le net mais rien y fait, j'obtiens toujours ce "undefined".

    Avez-vous par hasard, quelques exemples à me montrer s'il vous plaît ?

    Merci d'avance de vos réponses

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 39
    Points : 38
    Points
    38
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(typeof variable_non_definie=='undefined') alert('non définie !');

  3. #3
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    Citation Envoyé par Boa67 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(typeof variable_non_definie=='undefined') alert('non définie !');
    Pourquoi indiques-tu "variable_non_defenie" ?
    Dans la fonction que tu as réalisé, il existe une variable définie que l'on pourrait utiliser non ?

  4. #4
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    C'est nickel

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

Discussions similaires

  1. Avoir les infos via une fonction
    Par kazylax dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 25/05/2009, 17h11
  2. Réponses: 2
    Dernier message: 17/04/2007, 17h14

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