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 :

Récupérer un tableau de checkbox !


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2002
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 32
    Points : 20
    Points
    20
    Par défaut Récupérer un tableau de checkbox !
    Bonjour tout le monde !

    Voila j'ai un petit souci (assez génant car bloque l'avancement du projet) lors de l'activation de certain checkbox, je m'explique.
    J'ai un form avec plusieurs checkbox disabled par defaut en fonction de la section d'un menu select j'enable certains checkbox !

    voici une portion du code :

    Ma fonction javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function activation(valeur){
      document.stats.metier[].disabled=true; //je disabled tout avant d'enable
      if(valeur=="RRR"){
        //alert(document.stats.metier['16'].value);
        document.stats.metier[16].disabled=false;
      }  
    }
    Mon formulaire (j'ai épuré les choses inutiles)

    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
     
    <form method="post" action="suite.php" target="_blank" name="stats">
    <select name="client" onChange="Javascript:activation(this.value);">
    <option value="all">Tous</option>
    <option value="RRR">RRR</option>
    <option value="TTT">TTT</option>
    </select>
     
     
    <input type="checkbox" disabled id="id_reqOne0" name="metier[0]" OnClick="setCheckboxesRange('stats', false, 'id_reqTwo', 0, 9);">
     
    <input type="checkbox" disabled id="id_reqOne1" name="metier[1]" OnClick="setCheckboxesRange('stats', false, 'id_reqTwo', 0, 9);">
     
    <input type="checkbox" disabled id="id_reqOne2" name="metier[2]" OnClick="setCheckboxesRange('stats', false, 'id_reqTwo', 0, 9);">
     
    <input type="checkbox" disabled id="id_reqOne3" name="metier[3]" OnClick="setCheckboxesRange('stats', false, 'id_reqTwo', 0, 9);">
     
    .... 
     
    <input type='button' name='Visualiser' value='Visualiser' onClick='javascript:document.stats.action.value="view";valider();'>

    Merci d'avance !

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Points : 160
    Points
    160
    Par défaut
    metier[16] et pas ['16']


    document.stats.metier[16].disabled=false;

    et pas flase


    C'est mieux ?

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2002
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 32
    Points : 20
    Points
    20
    Par défaut
    C'est juste une erreur lors du copier coller ! Mais ca ne vient pas de la le problème !
    Pour le '16' la ligne est commentée, c'etait juste pour tester !

    j'ai cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Erreur : document.stats.metier has no properties
    Merci pour ton aide !

  4. #4
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut Re: Récupérer un tableau de checkbox !
    Citation Envoyé par SunSyS
    document.stats.metier[].disabled=true;
    Ca tu ne peux pas le faire. Ce n'est pas parceque dans les noms de tes checkbox tu as un nom du type blabla[23] que javascript va faire de liens entre ces checkboxs.... PHP le fait pour t'aider, mais pas javascript.

    Alors en javascript, il faut boucler:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var inputs = document.stats.elements;
    for (var i=0; i<inputs.length; i++) {
      if (inputs[i].tagName='input'&&inputs[i].type=='checkbox'&&inputs[i].name.substring(0,7)=='metier[') {
        inputs[i].disabled=true
      }
    }
    Ensuite, comme tes inputs ont, pour javascript, des noms exotiques avec des [] dedans, il faut utiliser systématiquement le vecteur des elements:
    Citation Envoyé par SunSyS
    document.stats.metier[16].disabled=false;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.stats.elements['metier[16]'].disabled=false;

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2002
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 32
    Points : 20
    Points
    20
    Par défaut
    Alors là vraiment merci ! Ca marche super bien !
    Merci aussi pour l'explication, toujours bon de savoir ou on s'est trompé !

    Encore merci pour ton aide, maintenant ca marche très bien !


    PS: c'est la 2e fois que tu me sauves la vie (1ere fois, le getElementById via Firefox 1.0.7)

    Au bout de la 3e fois t'aura un GROS bisou (Allez d'accord je sors)

  6. #6
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par SunSyS
    Au bout de la 3e fois t'aura un GROS bisou (Allez d'accord je sors)
    Cool, vivement la prochaine question!!!

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

Discussions similaires

  1. Récupérer un tableau checkbox en javacript
    Par persia dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/10/2008, 16h32
  2. [AJAX+PHP] Récupérer une liste de checkbox en tableau
    Par dorian53 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/04/2007, 10h03
  3. récupérer un tableau de checkbox
    Par mr.t dans le forum ASP
    Réponses: 3
    Dernier message: 05/04/2005, 16h11
  4. récupérer la valeur de checkbox
    Par nick774 dans le forum ASP
    Réponses: 3
    Dernier message: 09/03/2005, 18h44
  5. Style d'une ligne d'un tableau et Checkbox
    Par echecetmat dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/01/2005, 15h03

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