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 :

Dupliquer des boutons d'incrémentation


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de zool.bzh
    Homme Profil pro
    peintre industriel
    Inscrit en
    Octobre 2023
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : peintre industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2023
    Messages : 159
    Par défaut Dupliquer des boutons d'incrémentation
    Bonjour
    j'ai dupliquer des boutons avec leurs valeurs respectives dans des boucles for
    avec comme boutons : guessSubmit1; guessSubmit2; guessSubmit3 etc...
    valeur : nbr1; nbr2; nbr3 etc...
    avec du javascript pour incrémenter mes valeurs comme suit :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <!DOCTYPE html>
    <html lang="en-us">
      <head>
        <meta charset="utf-8">
        <link rel="stylesheet" href="style.css">
      </head>
    	<body>
    	<table><tr>
    <?php for ($i=1; $i<10; $i++){ ?> 
        <th><button class="guessSubmit<?=$i?>" >dl</button></th>
       <?php } ?>
    	</tr><tr>
    	<?php for ($i=1; $i<10; $i++){ ?>
    	 <th class="nbr<?=$i?>" >0</th>
    	 <?php } ?>
    	</tr></table>
     
        <?php for ($i=1; $i<10; $i++){ ?>
       <script>
       let guessSubmit1 = document.querySelector(.guessSubmit1);
       let nbrText1 = document.querySelector(.nbr1).firstChild;
     
       function checkGuess1() {
         nbrText1.nodeValue++;
       }
       guessSubmit1.addEventListener("click", checkGuess1);
       </script>
       <?php } ?> 
     </body>
    </html>
    Dans l'exemple j'ai mis toutes mes variables à 1 pour voir si ça passe mais à regret
    pouvez-vous m'aider svp

  2. #2
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2018
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 184
    Par défaut
    Bonjour,

    Il faudrait davantage d'informations et surtout le contexte. En ce qui me concerne, j'arrive pas à visualiser et à savoir ce que tu souhaites faire.

    A+

  3. #3
    Membre confirmé Avatar de zool.bzh
    Homme Profil pro
    peintre industriel
    Inscrit en
    Octobre 2023
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : peintre industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2023
    Messages : 159
    Par défaut
    bon ben encore une fois j'ai réponces à mes questions...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       let guessSubmit1 = document.querySelector(".guessSubmit1");
       let nbrText1 = document.querySelector(".nbr1").firstChild;
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       let guessSubmit1 = document.querySelector(.guessSubmit1);
       let nbrText1 = document.querySelector(.nbr1).firstChild;
    voici le code qui fonctionne :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <!DOCTYPE html>
    <html lang="en-us">
      <head>
        <meta charset="utf-8">
        <link rel="stylesheet" href="style.css">
      </head>
    	<body>
    	<table><tr>
    <?php for($i=1; $i<10; $i++){ ?>
         <th><button class="guessSubmit<?=$i?>">dl</button></th>
    <?php } ?>
       </tr><tr>
    <?php for($i=1; $i<10; $i++){ ?>	
         <th><p class="nbr<?=$i?>">0</p></th>
     <?php } ?>
       </tr></table>
    <?php for($i=1; $i<10; $i++){ ?>
    <script> 
    let guessSubmit<?=$i?> = document.querySelector(".guessSubmit<?=$i?>");
    let nbrText<?=$i?> = document.querySelector(".nbr<?=$i?>").firstChild;
     
    function checkGuess() {
        nbrText<?=$i?>.nodeValue++;
    }
     
    guessSubmit<?=$i?>.addEventListener("click", checkGuess);
     
        </script>
    <?php } ?>    
     </body>
    </html>

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonjour,
    on ne peut pas te laisser partir dans cette direction, si tu as 3000 boutons tu crées 3000 fonctions

    Une seule fonction est capable de gérer tes n boutons.

    A partir de ton code, un exemple de ce que tu aurais pu écrire :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="style.css">
    </head>
    <body>
      <table>
        <tr>
    <?php for ($i = 1; $i < 10; $i++) { ?>
          <td><button class="btn-inc">dl</button></td>
    <?php } ?>
        </tr>
        <tr>
    <?php for ($i = 1; $i < 10; $i++) { ?>
         <td><p class="champ-inc">0</p></td>
     <?php } ?>
        </tr>
      </table>
    <script>
    // une seule et unique fonction
    const btns = document.querySelectorAll(".btn-inc");
    const champs = document.querySelectorAll(".champ-inc");
    btns.forEach((btn, ind) => {
      btn.addEventListener("click", () => {
        champs[ind].firstChild.nodeValue++;
      });
    });
    </script>
    </body>
    </html>
    ... inutile donc d'affecter/créer une classe CSS pour chaque élément.

    Le script, en fin de page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    const btns = document.querySelectorAll(".btn-inc");
    const champs = document.querySelectorAll(".champ-inc");
    btns.forEach((btn, ind) => {
      btn.addEventListener("click", () => {
        champs[ind].firstChild.nodeValue++;
      });
    });
    ... ce charge de faire le travail.

    Nota :
    On n'utilise pas des balises <th> pour mettre du style au contenu le CSS est là pour cela.

    Tu pourrais également te passer des éléments <p> qui n'ont aucune plus value.

  5. #5
    Membre confirmé Avatar de zool.bzh
    Homme Profil pro
    peintre industriel
    Inscrit en
    Octobre 2023
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : peintre industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2023
    Messages : 159
    Par défaut
    Merci beaucoup NoSmoking tu me sauve la mise

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

Discussions similaires

  1. [XL-365] Dupliquer une feuille comportant des boutons radio
    Par tedamh dans le forum Excel
    Réponses: 9
    Dernier message: 20/04/2020, 11h20
  2. Dupliquer des macros et des boutons
    Par llPrOll dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/04/2018, 09h04
  3. [AC-2013] Dupliquer des enregistrements en cliquant sur un bouton
    Par rag83 dans le forum IHM
    Réponses: 13
    Dernier message: 30/12/2015, 20h10
  4. [VBA-E] incrémenter des valeurs excel grâce à des boutons
    Par keiserjo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/07/2006, 11h32
  5. Réponses: 2
    Dernier message: 31/08/2002, 14h00

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