Discussion: disabled -n- elements

  1. #1
    Membre habitué
    Inscrit en
    février 2009
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 364
    Points : 161
    Points
    161

    Par défaut disabled -n- elements

    Bonjour,

    Je cherche à alterner la propriété disabled, tout fonctionne si j'utilise la propriété display mais pas avec disabled.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function disabledElements(id) 
    {
    	collection = document.querySelectorAll("[id^='"+id+"']");
    	co = collection.length;
    	for (i = 0; i < co; i++) {
    		// display = window.getComputedStyle(collection[i], null).getPropertyValue("display");
    		// collection[i].style.display = (display=='none')?'block':'none';
    		disabled = window.getComputedStyle(collection[i], null).getPropertyValue("disabled");
    		collection[i].disabled = (disabled==false)?true:false;
    	}
    }
    Merci d'avance pour vos conseils,

  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
    37 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    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 : 37 576
    Points : 64 050
    Points
    64 050
    Billets dans le blog
    1

    Par défaut

    Sur quel type de balise ?
    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


    réalisations :www.oxygen-translations.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  3. #3
    Membre habitué
    Inscrit en
    février 2009
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 364
    Points : 161
    Points
    161

    Par défaut

    En fait j'ai le cas avec un checkbox sur -n- <button> et un autre cas sur un checkbox sur -n- checkbox ...

  4. #4
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    février 2009
    Messages
    5 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2009
    Messages : 5 760
    Points : 21 151
    Points
    21 151
    Billets dans le blog
    39

    Par défaut



    disabled : https://developer.mozilla.org/fr/doc...ibuts/disabled

    Citation Envoyé par https://developer.mozilla.org/fr/docs/Mozilla/Tech/XUL/Attributs/disabled
    Pour activer l'élément, ne spécifiez simplement pas cet attribut plutôt que de définir sa valeur à false.

    Blog



    Nota bene : si vous devez être compatible avec les navigateurs obsolètes (IE8 et plus), vous devez convertir les codes ES2015 en ES5 avec Babel.

    FAQ JS Tutoriels JS

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : janvier 2011
    Messages : 11 996
    Points : 32 133
    Points
    32 133

    Par défaut

    Bonjour,
    disabled = window.getComputedStyle(collection[i], null).getPropertyValue("disabled");
    disabled est un attribut et non une propriété CSS, voir lien fourni par danielhagnoul pour son utilisation.

  6. #6
    Membre habitué
    Inscrit en
    février 2009
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 364
    Points : 161
    Points
    161

    Par défaut

    Merci pour vos réponses, j'ai tourné ça dans tous les sens, je ne comprends pas pourquoi ça bloque comme ça, seule le true fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function disabledElements(id, id_checked) 
    {
    	collection = document.querySelectorAll("[id^='"+id+"']");
    	co = collection.length;
    	for (i = 0; i < co; i++) { 
    		//disable = window.getComputedStyle(collection[i], null).disabled;
    		collection[i].disabled = id_checked.checked;
    	}
    }

  7. #7
    Membre habitué
    Inscrit en
    février 2009
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 364
    Points : 161
    Points
    161

    Par défaut

    Exemple qui fonctionne.

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <input id="myCheck" type="checkbox" onclick="disabledElements('myButton1', 'myCheck');">Test
    <button id="myButton1" disabled="disabled" >qxqs</button>
    <button id="myButton2" disabled="disabled" >xqsxqs</button>
    <button id="myButton3" disabled="disabled" >xqsxqs</button>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function disabledElements(id, id_checked) 
    {
    	collection = document.querySelectorAll("[id^='"+id+"']");
    	co = collection.length;
    	for (i = 0; i < co; i++) { 
    		if (document.getElementById(id_checked).checked) {
    		  collection[i].disabled = false;
    		}
    		else {
    			collection[i].disabled = true;
    		}
    	}
    }
    Merci,


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

Discussions similaires

  1. couleur d'element disabled
    Par Sanaa25 dans le forum JavaScript
    Réponses: 4
    Dernier message: 06/09/2011, 14h46
  2. Onclick ne marche pas sur un element "disabled"
    Par Niki59 dans le forum JavaScript
    Réponses: 2
    Dernier message: 09/07/2009, 14h12
  3. [Débutant] mettre un element dans popup menu disable
    Par HMOLAMAR dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 28/05/2009, 13h56
  4. evenement onmouseover sur element HTML disabled
    Par danyboy85 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 05/04/2006, 13h04
  5. trier un tableau et compter des elements du tableau
    Par remi51 dans le forum Général Algorithmique
    Réponses: 6
    Dernier message: 17/06/2002, 17h51

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