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 :

une certaine checkbox désactive d'autres champs


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 12
    Par défaut une certaine checkbox désactive d'autres champs
    Bonjour à tous,

    Voilà j'ai actuellement un formulaire contenant une série de checkbox dont le nom est pareil mais la valeur diffère.

    Sous ces checkbox, j'ai des menus déroulants que je souhaiterais désactiver seulement si une checkbox est cochée (mais pas n'importe laquelle, celle dont la valeur = 2 par exemple)

    Donc, j'ai tenté de faire qqchose mais ca ne marche pas et je souhaiterais votre aide si possible :

    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
    <SCRIPT Language="JAVASCRIPT">
    function desactived()
    {
    var buttonchecked == document.forms2.test.checked;
    if(buttonchecked=="2")
    {
    document.forms2.test3.disabled;
    }
    }
    </SCRIPT>
     
    <form name="forms2">
    1<input type="checkbox" name="test" value="1" onClick="desactived()"><br>
    2<input type="checkbox" name="test" value="2" onClick="desactived()"><br>
    <select name="test3"><option value=""></option><option value="">1</option><option value="">2</option></select>
    </form>
    Merci d'avance de votre aide !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <SCRIPT type='text/javascript' >
    function desactived(){
    var collChecks= document.getElementsByName('test')
     
    for (i=0,i<collChecks.length){
         if(collChecks[i].value=="2" & collCheck[i].checked){
                             document.forms2.test3.disabled=true;
                      }
         }
    }
    </SCRIPT>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 12
    Par défaut
    arf, j'étais bien loin avec mes tests merci déjà

    euh par contre, ca ne fonctionne pas..

    j'appelle la fonction par un onclick="desactived();" dans mes checkbox mais rien ne se passe lorsque je clique dessus...

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    ??
    onmouseup ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 12
    Par défaut
    que nenni

    J'ai testé pas toutes les options.. onClick, onMouseUp, onBlur, onFocus,...

    rien n'y fait.. pourtant je teste sur une bete page html où il n'y a que ca (après, ca sera intégré avec le php que je maitrise... j'ai décidé d'apprendre le javascript maintenant... )

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    mets un alert en debut de focntion pour voir si le checked est pris en compte ...

    sinon il faudra faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setTimeout(function(){desactivted()},500)
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Il suffit de ne pas recopier bêtement un code source mais plutôt essayer de le comprendre.

    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
    <script type='text/javascript' >
    function desactived(){
       var collChecks= document.getElementsByName('test');
    
       for (i=0;i < collChecks.length;i++){
          if(collChecks[i].value=="2" && collChecks[i].checked){
             document.forms2.test3.disabled=true;
          }
          else{
             document.forms2.test3.disabled=false;
          }
          
       }
    }
    </script>
    
    <form name="forms2">
       1<input type="checkbox" name="test" value="1" onClick="desactived()"><br>
       2<input type="checkbox" name="test" value="2" onClick="desactived()"><br>
       <select name="test3"><option value="">
          </option><option value="">1</option>
          <option value="">2</option>
       </select>
    </form>

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    le souci des onclick ou onmouseup des checkboxes est que parfois le statu du checkbox n'as pas le temps de changer ...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" onclick="alert(this.checked)" />
    retourne des resultats surprenant selon les pc ou l'encombrement du processeur ...
    mieux vaut l'assortir d'un setTimeout ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 12
    Par défaut
    mmmm... [réflexion]...

    Je mets l'alerte sur les deux checkbox de test ==> TRUE chaque fois

    Je mets l'alerte ET le masquage sur les 2 checkbox ==> TRUE chaque fois et masquage si la value=11... uniquement à nouveau si c'est la seconde checkbox...

    Bref, si je mets la value 11 sur la première checkbox, il me met TRUE et reconnait donc le check mais n'active pas l'autre script de masquage... tandis que si je ne change que la value et que je mets 11 sur l'autre, ca indique TRUE et ca masque...

    Fred qui est perdu et qui se sens gêné de vous ennuyer comme ca :s

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/05/2015, 10h37
  2. Réponses: 13
    Dernier message: 06/08/2008, 14h36
  3. Réponses: 1
    Dernier message: 15/06/2007, 00h00
  4. Réponses: 3
    Dernier message: 08/06/2007, 11h24
  5. Réponses: 11
    Dernier message: 26/02/2007, 00h04

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