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

jQuery Discussion :

Cacher un DIV avec input Radio


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Responsable des études
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Par défaut Cacher un DIV avec input Radio
    Bonjour à tous,

    J'ai créé un script où quand je choisi livraison Mondial Relay le Div s'affiche et quand je choisi l'une des 2 autres livraisons cela ne s'affiche pas.

    Cela fonctionne en parti, j'arrive a afficher ou non en cliquant sur les radio mais le problème est quand on affiche la page pour la première fois, le DIV s'affiche automatiquement. Moi je voudrais qu'il soit cacher dès que l'on charge pour la première fois la page.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script type="text/javascript">
    function afficher(etat)
    {  
        document.getElementById("champ").style.visibility=etat;  
    }
    </script>
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <form name="formulaire" id="formulaire" action="" method="">
        <div id="haut_menu_grand"><h3>Adresse de livraison</h3></div>
        <div id="milieu_menu_grand">
            <p class="corps_milieu_grand">
                <input type="radio" name="livraison" value="adresse_principale" id="adresse_principale" checked="checked" onclick="afficher('hidden');" /> <label for="adresse_principale">Adresse de livraison principale (6,80 euros)</label><br /><br />
                <input type="radio" name="livraison" value="adresse_relais" id="adresse_relais" onclick="afficher('visible');" /> <label for="adresse_relais">Mondial Relais (5,95 euros)</label><br /><br />
                <input type="radio" name="livraison" value="adresse_mainpropre" id="adresse_mainpropre" onclick="afficher('hidden');" /> <label for="adresse_mainpropre">Livraison en main propre sur rendez-vous (Gratuit) - Attention : Sur Albert (80), Amiens (80), Méaulte (80).</label><br /><br />                
            </p>
     
            <div id="champ">Affichage du div</div>
     
        </div>
     
        <div id="bas_menu_grand"></div>
    </form>

    Merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Salut

    Ligne 10
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
            <div id="champ" style="visibility:hidden;">Affichage du div</div>
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Bah oui, basiquement si on veut cacher un élément au chargement de la page on le fait en css ou dans un style incorporé comme l'a montré ProgElecT.

  4. #4
    Membre averti
    Profil pro
    Responsable des études
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Salut

    Ligne 10
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
            <div id="champ" style="visibility:hidden;">Affichage du div</div>
    Merci cela règle en partie mon problème

    "visibility" cache mais garde un grand espace vide

    J'ai essayé
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="champ" style="display:none;">
    ça cache bien mais quand je coche les Radio plus rien ne s'affiche.

    Une idée ??

  5. #5
    Membre émérite

    Homme Profil pro
    linux, pascal, HTML
    Inscrit en
    Mars 2002
    Messages
    649
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : linux, pascal, HTML
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2002
    Messages : 649
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("champ").style.display=etat;
    avec etat qui vaut none ou all

  6. #6
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Salut
    Citation Envoyé par Michel Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("champ").style.display=etat;
    avec etat qui vaut none ou all
    Moi je pense plutôt à block
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            <p class="corps_milieu_grand">
                <input type="radio" name="livraison" value="adresse_principale" id="adresse_principale" checked="checked" onclick="afficher('none');" /> <label for="adresse_principale">Adresse de livraison principale (6,80 euros)</label><br /><br />
                <input type="radio" name="livraison" value="adresse_relais" id="adresse_relais" onclick="afficher('block');" /> <label for="adresse_relais">Mondial Relais (5,95 euros)</label><br /><br />
                <input type="radio" name="livraison" value="adresse_mainpropre" id="adresse_mainpropre" onclick="afficher('none');" /> <label for="adresse_mainpropre">Livraison en main propre sur rendez-vous (Gratuit) - Attention : Sur Albert (80), Amiens (80), Méaulte (80).</label><br /><br />                
            </p>  
                <div id="champ" style="display:none;">Affichage du div</div>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function afficher(etat)
    {  
        document.getElementById("champ").style.display=etat;  
    }
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Tu fais du javascript mais tu ne connais pas assez les bases du css/html et c'est essentiel. C'est ça qu'il faut commencer par maîtriser pour avancer car côté visiteur, javascript (ou même les langages serveur) ne font finalement qu'afficher du html. Donc toujours commencer par avoir de bonnes bases en html/css.

    visibility affiche ou cache le bloc mais préserve son espace d'affichage dans la page contrairement à display. Attention toutefois à l'usage d'un display:none à l'intérieur d'un formulaire car les éléments contenus ne seront pas envoyés. Par ailleurs javascript n'aura pas la possibilité de trouver les dimensions d'un bloc en display:none. Pour dire que le fait que l'élément ne soit plus dans le flux (contrairement à un visibility:hidden) a des conséquences qu'il vaut mieux connaitre à l'avance. Mais bon dans ton cas cela ne gêne apparemment en rien.

  8. #8
    Membre émérite
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 340
    Par défaut
    Bonsoir,
    Citation Envoyé par ProgElecT Voir le message
    Moi je pense plutôt à block
    Oui, mais pourquoi, plus généralement, ne pas mettre une chaîne vide ?
    Ainsi c'est la valeur par défaut de la balise ou le css qu'on a défini qui est appliqué.

Discussions similaires

  1. Afficher et cacher une div avec jquery.
    Par p2w.walas dans le forum jQuery
    Réponses: 2
    Dernier message: 12/08/2009, 10h53
  2. afficher ou cacher un div avec image
    Par avia767 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/11/2008, 17h34
  3. faire apparaître un DIV avec bouton radio
    Par laurent2 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/07/2007, 15h00
  4. cacher et afficher un tableau avec un "radio button"
    Par chrix10.2 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/01/2007, 20h01
  5. [Problème] Avec un javascript pour montrer/cacher un div
    Par draho dans le forum Général JavaScript
    Réponses: 24
    Dernier message: 01/10/2006, 17h02

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