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 :

Afficher un champ en cochant une case à cocher


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 352
    Par défaut Afficher un champ en cochant une case à cocher
    Bonjour à tous,
    J'aimerais savoir s'il vous plaît comment afficher un champ de type "INPUT" lorsque je coche une case à cocher.

    Par exemple je ne veux afficher le champ suivant que si je coche cette case "Nom : Capture1.PNG
Affichages : 4354
Taille : 161 octets":

    Nom : Capture.PNG
Affichages : 4259
Taille : 411 octets

    Merci d'avance!!!
    Images attachées Images attachées  

  2. #2
    Membre chevronné Avatar de 01001111
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

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

    Informations forums :
    Inscription : Janvier 2009
    Messages : 319
    Par défaut
    En admettant que la case à cocher est un input de type checkbox, tu peux faire ainsi:
    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
     
    <input type="checkbox" id="check"/>
    <div id="container" style="visibility:hidden; border-radius:5px; border:1px solid #829fb3; width:300px; height:20px; background-color:white;"></div>
    <script type="text/javascript">
    window.onload=function() { 
           document.querySelector('#check').onclick=function(e) {
                   if (e.target.checked) (
                            document.querySelector('#container').style.visibility="visible";
                   } else {
                            document.querySelector('#container').style.visibility="hidden";
                   }
           }
    }
    </script>
    Bien sûr la même chose peut être faite en jquery ou autre librairie d'animation et tu peux animer la valuer opacity au lieu de visibility par exemple, pour avoir un résultat plus esthétique.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 352
    Par défaut
    Merci bien mais vous ne m'avez pas montré là où je dois placer le champ à afficher ainsi que ses différents attributs(par exemple onClick= "quelque chose").Merci d'avance!!!

  4. #4
    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
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 : 39 659
    Billets dans le blog
    1
    Par défaut
    Une petite recherche sur le forum ...
    http://www.developpez.net/forums/d74...ps-formulaire/
    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

    Venez sur le Chat de Développez !

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 352
    Par défaut
    Ok merci mais je voudrais savoir si les champs afficher peuvent être dynamiquement traiter.Merci d'avance!!!

  6. #6
    Membre chevronné Avatar de 01001111
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

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

    Informations forums :
    Inscription : Janvier 2009
    Messages : 319
    Par défaut
    le champ à afficher peut être placé à l'intérieur du div.

    Pour le traitement dynamique, vous entendez par là un traitement sans rechargement de page? un test des champs avant validation du formulaire?
    Dans le premier cas, on peut utiliser ajax (asynchronous javascript and xml) avec l'objet xmlHttpRequest ou plus simplement une librairie comme jquery dont la fonction ajax fait strictement la même chose en plus simple.
    On envoie ainsi des variables en méthode "post" au fichier serveur qui traitera les données.

    Dans le second cas, on peut tester les champs avant envoi pour traitement, cela se fait en javascript avec des expressions régulières ou des opérateurs de comparaison pour vérifier que les champs ne sont pas vides:

    Dans ce cas, j'opte personnellement en général pour un input type=button au lieu d'un input type=submit pour valider le formulaire, et je mets un écouteur onclick sur ce bouton qui va lancer une fonction de test.
    cette dernière peut contenir ce genre d'exemples:
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // tester un input de type text
    if (document.querySelector('input#monId').value!=="") {
           // préparer le traitement
    } else {
           // alerter l'utilisateur que le champ est vide
    }
    // tester qu'au moins une case est cochée dans un groupe de cases à cocher
    if (document.querySelectorAll('input[type="checkbox"].maClasse[checked]').length>0) {
           // préparer le traitement
    } else {
           // alerter l'utilisateur qu'il faut cocher une case
    }

Discussions similaires

  1. Déclencher un évènement sur un champ texte avec une case à cocher
    Par gnimitz dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 22/05/2012, 20h31
  2. [AC-2003] Afficher un champ texte après activation d'une case à cocher
    Par olivier777 dans le forum IHM
    Réponses: 10
    Dernier message: 05/03/2010, 15h02
  3. afficher des champs d'un formulaire en selectionnant une case à cocher
    Par bozykely3 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/06/2007, 09h33
  4. Imprimer champs sélectionnés par une case à cocher
    Par nixax dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/12/2006, 22h09
  5. Réponses: 1
    Dernier message: 18/07/2006, 23h38

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