Discussion: disabled -n- elements

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

    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 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    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 781
    Points : 64 500
    Points
    64 500
    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.fr|www.saftair.fr| 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
    407
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 407
    Points : 176
    Points
    176

    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 905
    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 905
    Points : 21 537
    Points
    21 537
    Billets dans le blog
    50

    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
    12 547
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2011
    Messages : 12 547
    Points : 33 760
    Points
    33 760

    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
    407
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 407
    Points : 176
    Points
    176

    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
    407
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 407
    Points : 176
    Points
    176

    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 Général JavaScript
    Réponses: 4
    Dernier message: 06/09/2011, 13h46
  2. Onclick ne marche pas sur un element "disabled"
    Par Niki59 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/07/2009, 13h12
  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, 12h56
  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, 12h04
  5. trier un tableau et compter des elements du tableau
    Par remi51 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 17/06/2002, 16h51

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