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

  1. #1
    Membre averti
    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
    Points : 349
    Points
    349
    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 : 4137
Taille : 161 octets":

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

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

  2. #2
    Membre confirmé 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
    Points : 509
    Points
    509
    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 averti
    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
    Points : 349
    Points
    349
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Une petite recherche sur le forum ...
    http://www.developpez.net/forums/d74...ps-formulaire/

  5. #5
    Membre averti
    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
    Points : 349
    Points
    349
    Par défaut
    Ok merci mais je voudrais savoir si les champs afficher peuvent être dynamiquement traiter.Merci d'avance!!!

  6. #6
    Membre confirmé 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
    Points : 509
    Points
    509
    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
    }

  7. #7
    Membre averti
    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
    Points : 349
    Points
    349
    Par défaut
    Merci 01001111.Dans ce cas je n'ai pas à mettre le code que vous avez fourni plus haut?
    Ou bien si ça ne vous dérange je souhaite vraiment avoir un code d'exemple au complet car je suis très nul en javascript et c'est très urgent.Merci d'avance!!!

  8. #8
    Membre confirmé 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
    Points : 509
    Points
    509
    Par défaut
    Je peux vous aider, mais il faut au moins que vous fassiez le layout en html css et que vous le postiez ici, avec explications (quels champs doivent être testés, que doit-on faire en dynamique, etc...)
    Je vous rappelle quand même que le but de ce forum est d'apprendre, pas de faire faire le travail.

  9. #9
    Membre averti
    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
    Points : 349
    Points
    349
    Par défaut
    Bonjour à tous,

    Je viens d'exécuter le code suivant :

    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
    function myFunction(elem){
        elsuiv = elem.nextSibling;
        if(elsuiv.nodeName == '#text'){
            elsuiv = elsuiv.nextSibling;
        }
        if(elsuiv.style.display == 'none'){
            elsuiv.style.display = 'block';
        }else{
            elsuiv.style.display = 'none';
        }
    }
    <input type="checkbox" name="pret" value="non" onclick="myFunction(this)">
    <div class="inputscaches" style="display:none;" >
    <form  method="post" action = "<c:url value="/FormDossier"/>">
        <input type="text" name="motif" placeholder="" />
        <input type="text" name="decision" placeholder="" />
    </form>
    </div>
    ça me donne bien le résultat escompté coté affichage.Ci-dessous l'aperçu du résultat :

    Nom : Capture.PNG
Affichages : 3406
Taille : 13,9 Ko

    Je voudrais en cliquant sur enregistrer créer un identifiant dans une table pour chacune des lignes où j'ai cocher la case et insérer les données que j'ai saisies dans les différents formulaires.Est-ce que ce code me donnerai le résultat escompté?Sinon quelqu'un peut me guider?Merci d'avance!!!

  10. #10
    Membre confirmé 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
    Points : 509
    Points
    509
    Par défaut
    Oui, vous pouvez passer par un tableau associatif, puis transmettre les résultats du formulaire au format json via jquery ajax au serveur... c'est une méthode qui évite le rechargement de page à la soumission d'un formulaire.
    la fonction JSON à utiliser est stringify
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    var json=JSON.stringify(table);
    pour l'ajax:
    http://api.jquery.com/jquery.ajax/

    il faut vérifier que le langage serveur que vous utilisez est capable de décoder le json (ex: json_decode en php)
    et il faut peut-être faire les vérifications nécessaires plutôt côté serveur (ex: contenu obligatoire, nombre de soumissions maximum)

  11. #11
    Membre averti
    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
    Points : 349
    Points
    349
    Par défaut
    Merci bien.Si possible je voudrais une explication plus explicite.Je sais que vous voulez que je fasse des recherche pour arriver à mes fins mais je tiens à vous dire que je suis en état d'urgence car je doit soutenir le 10 de ce mois et mon encadreur insiste à ce que je fasse ça comme il l'a demandé pire encore il me reste plus d'un tiers à développer.d'ailleurs j'ai suivi le lien que vous m'avez fourni malheureusement la documentation est en anglais donc vue que je suis profane en jQuery et ajax et même en Json si je me permet de comprendre ça maintenant je risque de soutenir avec une application non complet ce qui pourrait me pénaliser devant les jury.Je sait que le but d'un forum est d'aider et non faire le travaille mais je pense que face à une situation comme la mienne les experts peuvent faire preuve de compréhension et je vous assure qu'après la soutenance je ferai de mon mieux pour apprendre ces langages.Je développe en JAVA J2E.Merci d'avance!!!

  12. #12
    Membre confirmé 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
    Points : 509
    Points
    509
    Par défaut
    Donnez-moi un plan des champs à implémenter et les eventuels tests à faire ou restrictions, je ferai le code javascript/html/css pour vous. JAVA, je ne connais pas, donc il faudra demander de l'aide sur le forum qui est dédié à ce langage.

  13. #13
    Membre averti
    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
    Points : 349
    Points
    349
    Par défaut
    Bonjour,
    pour les champs c'est exactement l'image que j'ai mise plus haut.Pour chaque case à cocher ce sont les 2 champs qui doivent s'afficher à savoir là où je dois saisir le motif et la décision.Pour la limite des cases à cocher, je préfère que ça soit indéfinie puisque le nombre varie parfois c'est zéro et y a des moment où ça peut atteindre une trentaine voire plus.Merci d'avance!!!

  14. #14
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 079
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 079
    Points : 44 660
    Points
    44 660
    Par défaut
    Bonjour,
    peut être que cette discussion devrait t’intéresser Insertion/Suppression d'une ligne d'une TABLE

  15. #15
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    si on reprend ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <input type="checkbox" name="pret" value="non" onclick="myFunction(this)">
    <div class="inputscaches" style="display:none;" >
    <form  method="post" action = "<c:url value="/FormDossier"/>">
        <input type="text" name="motif" placeholder="" />
        <input type="text" name="decision" placeholder="" />
    </form>
    </div>
    Il manque un identifiant de la ligne à modifier.
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php 
    $id = $row['id'] ; // récupéré d'une table en BdD ??
    ?>
    <input type="checkbox" name="pret[<?php echo $id; ?>]" value="non" onclick="myFunction(this)">
    <div class="inputscaches" style="display:none;" >
    <form  method="post" action = "<c:url value="/FormDossier"/>">
        <input type="text" name="motif[<?php echo $id; ?>]" placeholder="" />
        <input type="text" name="decision[<?php echo $id; ?>]" placeholder="" />
    </form>
    </div>
    Pour le reste : EXPLIQUE-toi CLAIREMENT, sur une exemple PRECIS.

  16. #16
    Membre confirmé 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
    Points : 509
    Points
    509
    Par défaut
    encore une question:
    est-il possible de savoir si vous vous basez sur une base de données (si oui laquelle?) pour générer les entrées du formulaire?
    est-il autorisé de faire la soumission du formulaire via jquery, ou doit-on la faire en post par le action du formulaire ou un form.submit(); ?
    pour vous aider dans votre code, j'ai besoin de savoir ceci.

  17. #17
    Membre averti
    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
    Points : 349
    Points
    349
    Par défaut
    Bonjour je travaille avec la base de données MYSQL.Pour ce qui est de la soumission du formulaire,l'essentiel que les données soit insérer dans la base de données.Donc si jquery permet de le faire y a aucun souci.Merci d'avance!!!

  18. #18
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    on ne vois pas beaucoup de ton code...
    Or, ce n'est pas à nous de l'écrire à ta place.

    Montre-nous au moins si tu as avancé, fait quelque chose de ton coté,...
    Et un exemple PRÉCIS.


    Merci d'avance!!!

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