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 :

Erreur Class undefined


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Points : 17
    Points
    17
    Par défaut Erreur Class undefined
    Bonjour à tous.

    Durant mon temps perdu,
    Je me suis mis à coder une peu avec des librairies javascripts.
    Ayant pour habitude de vérifier la compatibilité de mon siteweb sur tous les navigateur, il en est un qui me met en galere.
    C'est IE6 !
    En effet il m'affiche ce message d'erreur
    'Class' is undefined
    Voici mon code mis dans mon head:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script type="text/javascript">
    function changeLink(){
    	var element = document.getElementById('search_moreoptions');
    	var className = element.className;
    	if(className=='plus'){
    		element.className = 'moins';
    		element.innerHTML = 'Moins d\'options';
    	}else{
    		element.className = 'plus';
    		element.innerHTML = 'Plus d\'options';
    	}	
    }
    </script>
    Et voici celui mis dans ds mon body:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a id="search_moreoptions" class="plus" onclick="Effect.toggle('d1','slide');changeLink(); return false;" href="#"><?php echo $STR_PLUS_OPTIONS[$Id_Marche]?></a>

    Effet.toogle est un effet de la lib scriptaculous.
    Les includes des fichiers .js a bien été faite !
    L'effet fonctionne correctement.


    Avez vous une idée sur la question s'il vous plait?

    Merci bcp a tous

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var className = element.className;

    Il ne faut pas donner à des variables des noms de propriété JavaScript !!!
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    Merci pour la réponse.

    Mais apparemment cela ne résous pas le probleme.
    Il semble que IE6 nous tiens encore toujours tete !
    Et +1 pour IE6!



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function changeLink(){
    	var element = document.getElementById('search_moreoptions');
    	var KName = element.className;
    	if(KName=='plus'){
    		element.className = 'moins';
    		element.innerHTML = 'Moins d\'options';
    	}else{
    		element.className = 'plus';
    		element.innerHTML = 'Plus d\'options';
    	}	
    }

  4. #4
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    Ton erreur est sur quelle ligne?

    Parce que je ne vois pas de "class" dans ton code.

    @Bovino : il ne faut pas nommer des variables comme des mots réservés du langage. className n'étant pas réservé, ca ne pose pas de probleme.

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="new Effect.toggle('d1','slide');changeLink(); return false;"
    Ne pas oublier d'appeler new Effect
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Février 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut getElementById bug sous IE6
    Voilà ajoute donc ça dans ta balise <script></script>

    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
    if (/msie/i.test (navigator.userAgent))
        {
            document.nativeGetElementById = document.getElementById;
            document.getElementById = function(id)
            {
                // Get element using native method
                var elem = document.nativeGetElementById(id);
                if (elem)
                {
                    // If id match, return element
                    if (elem.attributes['id'].value == id)
                    {
                        return elem;
                    }
                    // Otherwise look for the right one
                    else
                    {
                        for (var i = 1; i < document.all[id].length; i++)
                        {
                            if (document.all[id][i].attributes['id'].value == id)
                            {
                                return document.all[id][i];
                            }
                        }
                    }
                }
                return null;
            }
        }

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    +3 pour IE6 !

    mais je me demande pourquoi il y a des gens qui utilise toujours IE6 !
    ils me forcent a checker mon site sur IE6 !

    quoiqu'il en soit.....l'erreur persiste?

    désolé

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    il me dit que cest a la ligne 22 (dsl pour le retard ).

    Et cest la ligne 22 que je vous ai envoyé, celle de la fontion changeLink

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    et apparemment , jai supprimé la fonction et puis actualisé !

    l'erreur est tjrs présente !

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    Je suis a la recherche du fichier qui beug......

    IE6 tremble ! je le sens !

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    oki probleme localisé ! il cherchait le fichier.js qu'il ne trouvait pas !

    Le probleme cest que j'avais viré ce fichier car j'en avait pas besoin.
    Et je ne trouve pas cette fameuse ligne 22 qui cherche à l'utiliser.

    Considerons que je le laisse !

    j'ai un comflit je pense entre mootools et prototype de scritptaculous.

    Du coup quand je clique sur mon lien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a id="search_moreoptions" class="plus" onclick="new Effect.toggle('d1','slide');changeLink(); return false;" href="#"><?php echo $STR_PLUS_OPTIONS[$Id_Marche]?></a>
    il me dit que :
    Object doesn't support this property or method
    a une ligne 159 !

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    et a mon avis ce sont les lignes des js de prototype

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    comment faire coexister mootools et prototype ?

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    jen arrive a la conclusion suivante !

    Virons prototype ! et utilisons uniquement mootools ! et tout cest résolu !

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

Discussions similaires

  1. Erreur de "Undefined offset"
    Par guy2004 dans le forum Langage
    Réponses: 8
    Dernier message: 16/10/2005, 12h48
  2. Erreur de "Undefined index" sur HTTP_REFERER
    Par guy2004 dans le forum Langage
    Réponses: 4
    Dernier message: 12/10/2005, 12h21
  3. Utilisation javah --> Erreur : Class XXXX could not be fo
    Par vano dans le forum Général Java
    Réponses: 6
    Dernier message: 09/05/2005, 21h32
  4. [Débutant(e)]Erreur 'class' or 'interface' expect
    Par chevy dans le forum Général Java
    Réponses: 7
    Dernier message: 30/03/2005, 08h13
  5. [Message d'erreur] Classe d'exception
    Par Pascal dans le forum Bases de données
    Réponses: 4
    Dernier message: 23/05/2004, 10h08

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