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

jQuery Discussion :

Fonction non reconnue ou trouvée


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 464
    Par défaut Fonction non reconnue ou trouvée
    bonjour,

    j'ai ce message d'erreur lors l'appel d'une fonction par un évenement onclick sur un DIV : il est affiché une fois que je clique sur le DIV concerné et que je fais F12 :

    Uncaught ReferenceError: voir_masquer is not defined
    c'est une fonction qui masque tous les TR dont le code contient le mot passé en paramètre.

    mon code simplifié pour le forum est :
    Code html : 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
    <html>
    <body>
    <div style="cursor: pointer;" onclick="voir_masquer('masquer','grammaire');"> Sans info car attente des cours </div>
    <script>
    //affichage filtre par categories -----------------------------
                            
                            function voir_masquer(quoi,mot)
                                    {
                                    alert(quoi);
                                    if (quoi=='masquer') $("tr:contains('" + mot + "')").hide("slow");
                                    else
                                            $("tr:contains('" + mot + "')").show("slow");
                                                    
                                    }
     
                            //voir_masquer("masquer","grammaire");
    </script>
    </html>

    ma fonction est pourtant dans le dom ready de fin de page et quand je décommente la ligne commenté de test, celle-ci s'éxécute bien (et trouve la fonction).

    est-ce que l'évenement onclick est particulier pour les fonctions ? devrais-mettre plutôt une version <a href:javascript(...etc)> plutôt que le onclick ?

    merci pour votre aide et oeil si j'ai fait une coquille.

  2. #2
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 464
    Par défaut
    après m'être renseigné, j'ai découvert que les fonctions dans le dom ready ne sont pas reconnues par le HTML, du coup je l'ai déplacé en haut.

    mais j'ai toujours le même problème avec ce source :

    Code html : 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
    <html>
    <script>                       
    function voir_masquer(quoi,mot)
           {
           alert(quoi);
           if (quoi=='masquer') $("tr:contains('" + mot + "')").hide("slow");
               else
           $("tr:contains('" + mot + "')").show("slow");
                                                    
           }
     
     
    </script>
    <body>
    <div style="cursor: pointer;" onclick="voir_masquer('masquer','grammaire');"> Sans info car attente des cours </div>
    <script>
     //voir_masquer("masquer","grammaire");
    </script>
    </html>

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Et si tu modifies ta balise script comme ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript">
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 464
    Par défaut
    c'est fait, j'ai juste simplifié au max le code sur le forum. j'ai aussi mis dans le <head>.

    franchement je comprends pas.

    juste après la fonction (que ce soit celle d'en haut dans le head ou celle d'en bas dans le dom ready), j'ai placé une ligne de test qui lance la fonction et elle marche.

    par contre, quand l'utilisateur appelle la fonction en cliquant ça marche.
    j'ai cru que c'était un problème de div onclick, alors j'ai transformé en lien a :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="javascript:voirmasquer('masquer','grammaire');"> Sans info car attente des cours </a>

    et le résultat est le même ! fonction pas trouvé !

    j'ai renommé la fonction pour enlever le underscore dans son nom au cas où, ça ne corrige pas.

    j'ai remplacé l'appel de ma fonction par un simple alert('masquer') et ça fonctionne.

    avant de cliquer , donc une fois la page chargée, je regarde le F12 et ya aucune alerte/error dans la console.

    L'erreur arrive dès la souris clique et appel la fonction.

    le problème ne vient pas de l'intérieur de la fonction car mon alert(quoi) de test est même pas exécuté.

    mon post initial est avec firefox, j'ai testé avec Chrome et j'ai sensiblement la même erreur :

    Uncaught ReferenceError: voirmasquer is not defined
    at <anonymous>:1:1

    Ma fonction n'est pas reconnu quand on clique mais uniquement en dehors (au start, et au do mready de fin). pourquoi ?

  5. #5
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Bonjour

    Sur le onclick tu appelles la fonction voirmasquer(), alors que tu l'as nommée voir_masquer().
    Est-ce une faute de frappe ?

    Cl@udius.

  6. #6
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 464
    Par défaut
    non non, je l'ai renommais, je l'ai dit plus bas, j'ai enlevé le underscore (au cas où...) c'est juste mon script ici sur le forum qui est maladroit.

Discussions similaires

  1. Fonction qui n'est pas reconnue
    Par petitours dans le forum IHM
    Réponses: 4
    Dernier message: 17/08/2007, 15h28
  2. [MySQL] champ déclaré mais pas reconnu
    Par Purple Haze dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 28/02/2007, 15h43
  3. 'sock' déclaré mais pas reconnu !
    Par The Lord of Nesquik dans le forum C++
    Réponses: 26
    Dernier message: 05/06/2006, 13h34
  4. Jascript fonction sous IE mais pas sous Netscape ou FF
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 29/12/2005, 17h02
  5. Fiche créée mais pas reconnue par l'application ??
    Par Leesox dans le forum Langage
    Réponses: 8
    Dernier message: 30/10/2005, 15h10

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