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 :

Petit soucis de case à cocher


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2009
    Messages : 42
    Points : 37
    Points
    37
    Par défaut Petit soucis de case à cocher
    Bonjour à tous

    J'ai besoin d'un tout petit script php/javascript pour pouvoir afficher un bouton de confirmation uniquement si la case est coché.

    J'ai écris ca :

    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
    25
    26
     
    <script type="text/javascript">
     
        function changeDisplay(Case)
            {
            var Coche = document.getElementById(Case).checked;
     
            if(Coche == true)
                {
                document.getElementById("calque").style.display = block;
                }
            else if(Coche == false)
                {
                document.getElementById("calque").style.display = none;
                }
            }
     
    </script>
     
    <p>Bonjour</p>
     
    <div id="calque" style="border: 1px solid red; width: 170px;">
        <p style="text-align: center;">Ce bloc peut être caché</p>
    </div>
     
    <p><input type="checkbox" id="Case" name="case_a_cocher" onClick="changeDisplay(this.id)">J'accepte les conditions d'utilisation</p>
    Mais ca ne fonctionne pas.

    Quelqu'un aurait-il une idée de pourquoi ça ne fonctionne pas ?

    Merci à tous

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2009
    Messages : 42
    Points : 37
    Points
    37
    Par défaut
    C'est bon j'ai trouvé mon erreur ^^

    Petite erreur très bête, j'avais juste oublié les quote autour de display et none

    Merci la console d'erreur de Firefox

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2009
    Messages : 42
    Points : 37
    Points
    37
    Par défaut
    J'ai encore un petit soucis

    Je voudrais que ma <div> que l'on peut cacher soit masquée par defaut

    J'ai donc rajouté ca dont mon code mais ca ne marche pas ...

    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
    25
    26
    27
    28
     
    <script type="text/javascript">
     
        function changeDisplay(Case)
            {
            var Coche = document.getElementById(Case).checked;
     
            if(Coche == true)
                {
                document.getElementById("calque").style.display = 'block';
                }
            else if(Coche == false)
                {
                document.getElementById("calque").style.display = 'none';
                }
            }
     
    </script>
     
    <p>Bonjour</p>
     
    <div id="calque" style="border: 1px solid red; width: 170px;">
        <p style="text-align: center;">Ce bloc peut être caché</p>
    </div>
     
    <p>
        <input type="checkbox" id="Case" name="case_a_cocher" onLoad = "changeDisplay(this.id)" onClick="changeDisplay(this.id)">J'accepte les conditions d'utilisation
    </p>

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    et si tu met visibility: hidden dans ton div?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2009
    Messages : 42
    Points : 37
    Points
    37
    Par défaut
    Non ca me la rend invisible tout le temps

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    il faut éviter de donner à une variable un nom correspondant à l'id d'un objet de la page (notamment pour IE).
    Essaye soit de changer l'id (il peut être égal au name), soit de changer le nom du paramètre de la fonction (ex : la_case).

    Sinon, le reste semble correct.

    ... à part le onload qui devrait être dans la balise <body> (pas d'onload sur un input), mais qui de toutes façons ne sert à rien : il suffit de masquer le div avec le CSS lors de la génération de la page sur le serveur
    Et la partie <script> qu'il faut placer dans le <head>.

    A+

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2009
    Messages : 42
    Points : 37
    Points
    37
    Par défaut
    Merci à tous

    Voilà la version qui fonctionne

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <html  xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
            <title>Test de bouton cachés</title>
            <script type="text/javascript">
     
            function changeDisplay(Case)
                {
                var Coche = document.getElementById(Case).checked;
     
                if(Coche == true)
                    {
                    document.getElementById("calque").style.display = 'block';
                    }
                else if(Coche == false)
                    {
                    document.getElementById("calque").style.display = 'none';
                    }
                }
            </script>
     
        </head>
        <body onLoad="changeDisplay('ma_case');">
            <div id="calque">
                <h2>Bonjour</h2>
                <input type="submit" value="Valider"><input type="reset" value="Effacer">
            </div>
     
            <br />
     
            <input type="checkbox" id="ma_case" name="ma_case" onClick="changeDisplay(this.id)">J'accepte les conditions d'utilisation
        </body>
    </html>

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

Discussions similaires

  1. un petit soucis de CASE
    Par SergioMaster dans le forum SQL
    Réponses: 3
    Dernier message: 16/06/2011, 13h58
  2. [MIGRATION] champ de type "case à cocher"
    Par The_Nail dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 10/05/2011, 11h07
  3. petit casse tete avec des case à cocher
    Par moumous24 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 13/07/2010, 16h14
  4. souci pour créer plusieurs cases à cocher
    Par vash641 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/05/2009, 10h43
  5. [CR] Création de tableau et case à cocher
    Par aysse dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 26/11/2003, 17h07

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