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 :

Argument de fonction non reconnu


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 226
    Par défaut Argument de fonction non reconnu
    Bonjour,

    Je rencontre un probléme, qui doit-être assez nul pour certain mais que je n'arrive pas à cerner.
    Je crée un tableau à partir d'une requête AJAX. Dans ce tableau j'ai des icones pour effectuer des actions.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo '<img src="icones/poubelle-icon-16.png" title="Supprimer"  onClick="delDisso(' . $listDisso[$i][0]['id_disso'] . ')" > ';
    L'id peut-être un int ou un str.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
                function delDisso(idDisso) {
                    alert(idDisso);
                    if (window.confirm('Confirmez-vous la suppression de la disso '+idDisso+ ' ?')) {
                        $.ajax({
                            type: 'POST',
                            async: false,
                            data: ({idDisso : idDisso}),
                            url: 'ajax/disso_del.php',
                            success: function(data) { }
                            });
                        }
                        load_data();
                    }
    Tout fonctionne quand idDisso est un int, par contre quand c'est un string j'ai l'erreur "Uncaught ReferenceError: "l'idDisso" is not defined .

    Quelqu'un aurait une idée pour résoudre ce probléme?

    Merci.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data: ({idDisso : idDisso})
    tu n'as pas l'impression que tu cherches les ennuis ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 226
    Par défaut
    Bonjour.
    Pourquoi? Parceque le paramétre de la requête a le même nom que la variable?

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Ton problème n'est pas là.
    En règle générale je n'aime pas utiliser les mêmes identifiants pour la variable et pour le paramètre, de même que mettre des parenthèses inutiles nuisent souvent à la compréhension du code et/ou génère des galères de débogage.

    Pour en revenir à ton problème, regarde ce que donne le code HTML généré et il y a lourd à parier qu'il manque des quottes/guillemets autour de ta valeur en string.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="icones/poubelle-icon-16.png" title="Supprimer"  onClick="delDisso( le_parametre)" >
    au lieu de
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="icones/poubelle-icon-16.png" title="Supprimer"  onClick="delDisso( 'le_parametre')" >

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 226
    Par défaut
    Merci pour votre réponse.

    En règle générale je n'aime pas utiliser les mêmes identifiants pour la variable et pour le paramètre, de même que mettre des parenthèses inutiles nuisent souvent à la compréhension du code et/ou génère des galères de débogage.
    Je pensais que les le parenthèses étaient obligatoires. Je vais les retirer de toutes mes requêtes.

    Pour en revenir à ton problème, regarde ce que donne le code HTML généré et il y a lourd à parier qu'il manque des quottes/guillemets autour de ta valeur en string.
    En effet, il manque bien les guillemets dans le HTML.
    Au risque de paraitre encore plus nul, je dois avouer que je n'arrive pas à les mettres ><
    Je n'arrive pas à m'en sortir avec les guillemets
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<img src="icones/poubelle-icon-16.png" title="Supprimer"  onClick="delDisso(' ". $listDisso[$i][0]['id_disso'] ." ')" > ';
    if ($listDisso[$i][0]['id_user'] != $_SESSION['user_id'] && $listDisso[$i][0]['valid'] != 1)
        { echo '<img src="icones/accept-icon-16.png" title="Valider"  onClick="valDisso(' ". $listDisso[$i][0]['id_disso'] ." ')" > '; }
    Mais du coup ça ne passe pas mais je ne vois pas comment faire autrement.

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 226
    Par défaut
    Bon en fait j'ai fait :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<img src="icones/poubelle-icon-16.png" title="Supprimer"  onClick=delDissolution("' . $listDissolutions[$i][0]['num_dissolution'] . '") > ';
    Je ne savais pas que les guillemets autour de la fonction dans "onClick" n'étaient pas indispensable.

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    il te faut échapper les quottesapostrophes/guillemets lorsque tu en mets dans une string
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<img src="icones/poubelle-icon-16.png" title="Supprimer"  onClick="delDissolution(\'' . $listDissolutions[$i][0]['num_dissolution'] . '\')">';
    Cours : Guillemets ou Apostrophes ?

  8. #8
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 226
    Par défaut
    Effectivement j'avais lu qu'il fallait les echapper mais je n'y étais pas parvenu (J'avais du m'embrouiller avec tous les apostrophes / guillemets), je n'avais donc pas mis les guillement apres le "onclick"
    Le votre fonctionnant, je le reprends et l'applique sur les autres.

    Merci.

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

Discussions similaires

  1. [histc][numel] Fonctions non reconnues
    Par yvesleb dans le forum MATLAB
    Réponses: 8
    Dernier message: 02/04/2007, 19h05
  2. [SOAP][PHP] WSDL, Fonction non reconnue
    Par zevince dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 18/01/2007, 11h17
  3. Réponses: 5
    Dernier message: 26/01/2006, 15h13
  4. [LDAP] Fonctions non reconnues
    Par Wormus dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 10/01/2006, 13h46
  5. [Configuration] Installation de PHP + Pbm de fonctions non reconnues
    Par BARBIER dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 23/11/2005, 10h54

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