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 appelée


Sujet :

jQuery

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut Fonction non appelée
    Bonjour,

    Dans un fichier js, via du Jquery, je construis des boutons de manière dynamique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     var $newFormLi = $ ( '<li></li>' ). append ( newForm );
        var $deletePriceButton = $ ( '<button type="button" class="btn-remove" onclick="removePrice(this);">Supprimer cette durée</button>' );
        $newFormLi. append ( $deletePriceButton );
        $( this ) . before ( $newFormLi );
    Sur le onclick de ces boutons, j'appelle une fonction removePrice() se trouvant dans le même fichier js :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="removePrice(this);"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function removePrice(btn) {
     
        btn.parent().remove();
     
    }
    Or, lorsque je clique sur un de ces boutons, j'obtiens l'erreur suivante :

    Uncaught ReferenceError: removePrice is not defined
    at HTMLButtonElement.onclick (newPrices:1)
    Quelqu'un aurait une idée de la source du problème?

    Merci d'avance pour votre aide.

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 410
    Points : 4 851
    Points
    4 851
    Par défaut
    Salut,
    pourquoi ne pas utiliser jQuery proprement ?
    supprime l'attribut onclick du bouton et applique l'évenement clique avec jQuery
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $('body').on('click',".btn-remove",function(){
    	$(this).parent().remove();
    });

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut
    Merci beaucoup pour ton aide. J'avais tenté de le faire ainsi, cependant, pour les boutons créés avec Jquery, ça ne fonctionnait pas avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('.btn-remove') . on ( 'click' , function ()
    .

    Mais avec le tien, ça fonctionne

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

Discussions similaires

  1. fonction non appelée
    Par Lilouse dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 29/03/2010, 11h52
  2. Trouver les fonctions non appelées
    Par KiwiJaune dans le forum Visual Studio
    Réponses: 3
    Dernier message: 19/01/2010, 14h59
  3. fonction non appelée
    Par coquero dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/11/2008, 13h52
  4. fonction non appellée ,
    Par totoche dans le forum VB.NET
    Réponses: 5
    Dernier message: 29/08/2007, 09h36
  5. Verifier formulaire - fonction non appelée
    Par nerick dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/12/2005, 17h44

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