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 :

Définir nombre radio à cocher


Sujet :

JavaScript

  1. #21
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Par défaut
    Voilà j'ai utilisé les PJ lol

  2. #22
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 262
    Par défaut

    essayes de faire tourner ce code
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta charset="UTF-8">
    <title>[...]</title>
    <script>
    function checkBoxes() {
      var selectNumberItem = document.getElementById("nombre");
      var valeurNbreselectionne = selectNumberItem.value;
      var nbCheckBoxes = valeurNbreselectionne;
      var allInputs = document.getElementsByTagName('input');
      for(i = 0, k=0; i < allInputs.length; i++) {
        if (allInputs[i].type == 'checkbox'){
          allInputs[i].checked = k++< nbCheckBoxes;
        }
      }
    }
    window.onload = function() {
      document.getElementById("checkButton").onclick = checkBoxes;
    }
    </script>
    </head>
    <body>
      <select name="nombre" id="nombre">
        <option value="1"> 1 </option>
        <option value="2"> 2 </option>
        <option value="3"> 3 </option>
        <option value="4">4 </option>
        <option value="100">100</option>
      </select>
      <button type="button" id="checkButton">Cocher</button>
      <form id="myForm" name="myForm">
        <input type="text" value="input parasite">
        <input type="checkbox" value="value1">
        <input type="checkbox" value="value2">
        <input type="checkbox" value="value3">
        <input type="checkbox" value="value4">
        <input type="checkbox" value="value5">
      </form>
    </body>
    </html>

  3. #23
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Par défaut
    Je viens de le test sur une page blanche, ça fonctionne très bien

  4. #24
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 262
    Par défaut
    Versifie qu'il n'y a pas de conflit avec EXTJS que tu utilises visiblement, sinon, et se serait dommage, utilise la bonne vielle méthode du inline
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <button type="button" id="checkButton" onclick="checkBoxes()">Select</button>

  5. #25
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Par défaut
    C'est quoi cette méthode de inline ?

    En fait j'utilise une application existante (GLPI). Je suis en train d'apporter des modifications dans le but de l'améliorer. Ce javascript devrait fonctionner, c'est très bizarre....

    Extjs je ne connais pas du tout, je ne sais pas comment faire pour connaitre les conflits....

    Quelle est la méthode inline ?

  6. #26
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 262
    Par défaut
    Quelle est la méthode inline ?
    c'est mettre le code javascript directement dans la balise comme indiqué dans le dernier exemple
    <button type="button" id="checkButton" onclick="checkBoxes()">Select</button>
    Extjs je ne connais pas du tout, je ne sais pas comment faire pour connaitre les conflits....
    pourtant les fichier JS sont insérer dans ton code, voir ta 1st capture line 16 et 17..

  7. #27
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Pour info, document.querySelectorAll est maintenant largement supporté (même par IE8)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function checkBoxes() {
      var nbToCheck = document.getElementById("nombre").value;
      var boxes = document.querySelectorAll('input[type=checkbox]');
      for(i = 0; i < Math.min(boxes.length, nbToCheck ); i++) {
         boxes[i].checked = true;
      }
    }

  8. #28
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Par défaut
    Bonjour,

    J'ai tout essayé, mais j'ai toujours cette erreur :

    Uncaught TypeError: 'Cannot call method 'addEventListener' of null
    Comme je l'ai dit plus haut, je récupère une application existante (qui est déjà implémentée), où j'apporte des modifications (notamment le JavaScript ici pour mon cas).

    Je vais essayer d'étudier ExtJS (en espérant que ça ne me prenne pas beaucoup de temps :s).

  9. #29
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Par défaut
    Bonjour à tous !

    Donc après une vingtaine de jours, toujours le même problème.

    Code : 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
    function checkBoxes() {
     var selectNumberItem = document.getElementById("nombre");
     var valeurNbreselectionne = selectNumberItem.options[selectNumberItem.selectedIndex].value;
     var nbCheckBoxes = valeurNbreselectionne;
     
     var allInputs = document.getElementsByTagName('input');
     
     for (i = 0; i < allInputs.length; i++) {
        if (allInputs[i].type == 'checkbox') {
          allInputs[i].checked = false;
        }
      }
     
     
      for (i = 0; i < allInputs.length && i < nbCheckBoxes; i++) {
        if (allInputs[i].type == 'checkbox') {
          allInputs[i].checked = true;
        }
      }
    }
     
    window.onload = function() {
     
      document.getElementById("checkButton").addEventListener("click", checkBoxes, false);
    }
    Je pense qu'il ne comprends pas "window.onload = function()".

    Est ce possible de faire en sorte de le mettre dans le fonction checkboxes du dessus ? De façon à n'avoir qu'une seule fonction JS ? (j'espère avoir été clair).



    En vous remerciant d'avance.

  10. #30
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Il n'y a aucune raison que window.onload ne fonctionne pas. Si l'erreur est toujours la même, alors ça montre clairement que l'élément avec un ID checkButton n'est pas trouvé dans le document. La première chose à regarder est donc le HTML, qu'ici nous n'avons pas.

  11. #31
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Par défaut
    Bonjour, et merci pour ta réponse !

    En fait le code est dans les images juste au dessus (1ere page).

    C'est le code du code source, et l'id est bien présent....

    Je ne comprends pas ce qui se passe...

    En vous remerciant d'avance

Discussions similaires

  1. Définir nombre de lignes par page dans GridView
    Par majduuus dans le forum ASP.NET
    Réponses: 2
    Dernier message: 11/09/2013, 15h01
  2. Problème de double radio (cocher une case à la fois)
    Par kOrt3x dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 16/06/2009, 14h32
  3. [html:radio] cocher / décocher
    Par fatenatwork dans le forum Struts 1
    Réponses: 7
    Dernier message: 09/10/2007, 11h43
  4. Bouton radio à cocher
    Par Soria17 dans le forum ASP
    Réponses: 8
    Dernier message: 20/02/2007, 16h31
  5. définir nombre de décimale
    Par capone dans le forum C++Builder
    Réponses: 5
    Dernier message: 08/01/2006, 14h15

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