Partage
  • Partager sur Facebook
  • Partager sur Twitter

[problème] avec addEventListener avec 2 fonctions

Sujet résolu
    8 juin 2021 à 23:02:09

    Bonsoir,

    J'ai un souci avec un bouton addEventListener... Je voudrais lui attribuer 2 fonctions.

    function emptyEntriesBook(){
        titleBook.value = "";
        authorName.value = "";
        genre.value = "";
        textarea.value ="";
    }
     
    function clickAddCount(){ let nbBooks = localStorage.getItem("books"); if (nbBooks != null ){ nbBooks = parseInt(nbBooks) document.getElementById("countClick").innerHTML = nbBooks; if (nbBooks ==1){ document.getElementById("bookChange").innerHTML = " book" } else{ document.getElementById("bookChange").innerHTML = " books"; } }else { nbBooks =0 localStorage.setItem("books", 0) if (nbBooks == 0){ document.getElementById("bookChange").innerHTML = " book" } document.getElementById("countClick").innerHTML = nbBooks; } nbBooks++; localStorage.setItem("books", nbBooks) } // pour l'instant, commence à 1 ds le localStorage, affiche 0 sur la page mais je ne vois pas pourquoi // function to add 2 function at addBook button function addFunctions(){ clickAddCount(); emptyEntriesBook(); } //clickAddCount() //additionne correctement si appelé seule addBook.addEventListener("click", addFunctions()); // ne change pas innerHTML

    Ma fonction clickAddCount() doit compter le nombre de livres ajouté, donc à chaque clic sur le bouton add. Elle les ajoutait bien au LocalStorage, mais ne changeait pas le innerHTML, alors que si je l'appelle seule, en dehors du bouton, elle le fait.

    C'est comme si elle n'executait que la moitié des instructions.

    Puis j'ai voulu ajouter un location.reload dans une fonction qui n'a rien à voir, et voila que ma fonction addClickCount() ajoute +1 à chaque refresh de page, sans même qu'elle soit appelée (sans utiliser le bouton add). Je ne comprend pas comment ça se fait..

    Comment dois-je faire pour que cela fonctionne??

    -
    Edité par VéroNes 8 juin 2021 à 23:03:54

    • Partager sur Facebook
    • Partager sur Twitter
      9 juin 2021 à 8:10:25

      Bonjour,

      ne mets pas de parenthèses à ta fonction dans le addEventListener ;)

      À (re)lire : https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

      • Partager sur Facebook
      • Partager sur Twitter

      Pas d'aide concernant le code par MP, le forum est là pour ça :)

        9 juin 2021 à 13:01:07

        Bonjour!

        Oh bon sang... merci.

        Bon, j'y retourne!

        Edit: Du coup, oui, ça va un peu mieux... Ca ajoute bien au localStorage quand je clique sur add. Mais ça ne change pas le innerHTML comme demandé, alors que si j'appelle la fonction seule, elle s'execute correctement en addtionnant dans le localStorage ET en changeant le innerHTML..

        Je ne comprends vraiment pas pourquoi..

        -
        Edité par VéroNes 9 juin 2021 à 14:26:00

        • Partager sur Facebook
        • Partager sur Twitter

        [problème] avec addEventListener avec 2 fonctions

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown