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

NodeJS Discussion :

onclick bouton n'est pas reconnu


Sujet :

NodeJS

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    décembre 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : décembre 2011
    Messages : 27
    Points : 15
    Points
    15
    Par défaut onclick bouton n'est pas reconnu
    Bonjour à tous et merci d'avance pour votre aide.

    Je commence l'apprentissage de javascript et de Firebase.

    Il y a un concept que je ne comprend pas et qui me bloque. Je n'arrive pas a ajouter les interactions avec des boutons dans mes pages html et dans mon javascript. Peut être que ma façon de faire n'est pas la bonne, alors je suis preneur de conseil.

    J'ai 2 pages html : login et menu
    J'ai un fichier de javascript.

    pour utiliser les modules de Firebase j'ai dans l'entête de mes fichiers html le chemin pour le seul fichier javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="module" src="../javascript/login.js"></script>
    J'ai un bouton dans ma page login
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <button type="button" onclick ="DB_LOGIN()" id="login" class="btn btn-secondary">Connexion</button>

    et un bouton dans ma page menu
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <button type="button" onclick ="DB_ADD()" id="bdadd" class="btn btn-secondary">Ajouter</button>

    Dans le fichier javascript (il y a : import de Firebase, config, etc), j'ai les évènements relatif à mes boutons
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var log1 = document.getElementById("login");
    log1.addEventListener('click',DB_LOGIN);
     
    var add1 = document.getElementById("bdadd");
    add1.addEventListener('click',DB_ADD);
    Le premier bouton login me redirige vers la page menu et celui-ci fonctionne (je reçois bien les infos de Firebase). Par contre une fois redirigé var la page menu, le second bouton dans la page menu ne fonctionne pas et me donne l'erreur ci-dessous:
    Nom : Capture d’écran 2022-11-15 155800.png
Affichages : 49
Taille : 13,2 Ko

    Est-ce que quelqu'un pourrait m'aider ou me conseiller ?

    Merci

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    9 492
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 9 492
    Points : 14 471
    Points
    14 471
    Par défaut
    peut-être que le code html n'est pas encore complètement chargé quand le code javascript se lance.

    essayez comme cela :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    document.addEventListener("DOMContentLoaded", e => {
     
    	var log1 = document.getElementById("login");
    	log1.addEventListener('click', DB_LOGIN);
     
    	var add1 = document.getElementById("bdadd");
    	add1.addEventListener('click', DB_ADD);
     
     
    });

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    décembre 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : décembre 2011
    Messages : 27
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    Je viens de découvrir la raison, mais je ne sais pas comment la régler. As tu une idée ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var log1 = document.getElementById("login");
    log1.addEventListener('click', DB_LOGIN);
     
    var add1 = document.getElementById("bdadd");
    add1.addEventListener('click', DB_ADD);
    L'ID "bdadd" est sur l'autre page html (page menu). Quand je suis sur la page "admin" pour m'enregistrer, "bdadd" n'est pas présent, c'est a ce moment que l'erreur arrive en me disant que "bdadd" n'existe pas. C'est tout nouveau le html et javascript, est-ce qu'il y a des bonnes pratiques à avoir style un fichier .js pour chaque page html ?

    Merci

    Grégory

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    9 492
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 9 492
    Points : 14 471
    Points
    14 471
    Par défaut
    pour beaucoup de langages je pense que le plus important est d'avoir du code facile à comprendre quand on revient sur le projet 6 mois plus tard. et donc un des mes conseils est de ne pas hésiter à répartir le code dans plusieurs fichiers.

    ensuite pour votre projet, il y a plusieurs possibilités :
    • vous pouvez tout charger à chaque page et ensuite tester si le bouton existe ou pas. cette solution fonctionne surtout si sur la plupart des pages le bouton n'existe pas, dans le cas contraire ça serait un gaspillage de ressources de tester un bouton qui est souvent là.
    • ou alors vous ne chargez pas les mêmes fichiers selon la page où vous êtes

Discussions similaires

  1. [UBUNTU] Le live cd n'est pas reconnu comme un cédérom bootable
    Par Jihed Amine Maaref dans le forum Ubuntu
    Réponses: 4
    Dernier message: 12/07/2006, 15h37
  2. Réponses: 1
    Dernier message: 09/06/2006, 22h02
  3. Réponses: 3
    Dernier message: 16/05/2006, 17h34
  4. DOS: la commande 'more' n'est pas reconnue...
    Par billoum dans le forum Windows Serveur
    Réponses: 8
    Dernier message: 02/05/2006, 18h11
  5. Réponses: 8
    Dernier message: 04/08/2004, 15h17

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