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 :

sous IE : fonction disabled pour formulaire


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 66
    Points : 41
    Points
    41
    Par défaut sous IE : fonction disabled pour formulaire
    Bonjour
    J'ai un formulaire avec une liste de checkbox que je souhaite désactiver (disabled) lorsqu'une checkbox principale est cochée et activer lorsque qu'elle est décochée.

    A gauche la checkbox décochée, à droite cochée :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
          <input type="checkbox" class="noBorder"  name="chkPapier" id="chkPapier" onchange="chgChkPapier();" />
          <label for="chkPapier">Indiquez sur papier libre :</label><br /><input type="checkbox" class="noBorder" name="chkPapierNom" id="chkPapierNom" />
                <label for="chkPapierNom" id="lblPapierNom">nom, pr&eacute;nom, adresse</label><br />
                <input type="checkbox" class="noBorder"  name="chkPapierMail" id="chkPapierMail" />
                <label for="chkPapierMail" id="lblPapierMail">adresse mail</label>
                <br />
                <input type="checkbox" class="noBorder" name="chkPapierDateNaissance" id="chkPapierDateNaissance" />
                <label for="chkPapierDateNaissance" id="lblPapierDateNaissance">date de naissance</label><br />
                <input type="checkbox" class="noBorder" name="chkPapierAge" id="chkPapierAge" />
                <label for="chkPapierAge"  id="lblPapierAge">&acirc;ge</label>
    La fonction Javascript appelée sur le onChange de la CheckBox principale.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function chgChkPapier()
    {	
    	document.Etape2.chkPapierNom.disabled = !(document.Etape2.chkPapier.checked);
    	document.Etape2.chkPapierMail.disabled = !(document.Etape2.chkPapier.checked);
    	document.Etape2.chkPapierDateNaissance.disabled = !(document.Etape2.chkPapier.checked);
    	document.Etape2.chkPapierAge.disabled = !(document.Etape2.chkPapier.checked);
    };
    Tout cela fonctionne à merveille, mis à part sous IE ou il faut cliquer quelque part sur la page pour que l'affichage se rafraichisse alors que sous les autres navigateurs l'affichage est rafraichi au clic sur la checkbox principale.
    Une idée pour contrer ce bug?

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ben pour une fois, je pense que c'est IE dont le comportement se rapproche le mieux du résultat logique.
    Un événement onchange est sensé être déclenché quand un input a changé de valeur ET qu'il a perdu le focus. Or, il n'y a pas de raison pour que le click sur le checkbox lui fasse perdre le focus.

    Essaye avec un onclick à la place

  3. #3
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Ben pour une fois, je pense que c'est IE dont le comportement se rapproche le mieux du résultat logique.
    Tout fout le camp

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 66
    Points : 41
    Points
    41
    Par défaut
    Bienvu, avec onclick ca fonctionne. Je pensais que le onChange était déclenché lorsque le checkbox change d'état.

    Merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/09/2009, 15h24
  2. Réponses: 2
    Dernier message: 07/01/2008, 00h01
  3. Réponses: 10
    Dernier message: 06/07/2007, 02h54
  4. Réponses: 4
    Dernier message: 21/07/2006, 13h27
  5. [MySQL] Recherche fonction pour formulaire
    Par loicdu4000 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 08/04/2006, 20h52

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