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 :

Formulaire dynamique avec des cases de cocher (en JS)


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Aube (Champagne Ardenne)

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

    Informations forums :
    Inscription : Juin 2015
    Messages : 5
    Par défaut Formulaire dynamique avec des cases de cocher (en JS)
    Bonjour à tous,
    Alors voilà, j'ai créé un formulaire pour des inscriptions à des visites. Les contraintes sont plutôt simples : chaque visites à plusieurs horaires, un visiteur peut s’inscrire à plusieurs visites mais à un seul horaire par visite.
    Pour faire cela j'ai créé des checkbox pour chaque visites et des boutons radios pour chaque horaires. J'ai aussi fait un peu de JS pour que les horaires ne s'affichent que si la visite est cochée.

    Voici mon code HTML :

    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
    16
    17
    18
    <form method='POST' action='#'>
    	<input type='checkbox' name='visite' value='v1' onclick="affichertexte(this,1)" />Visite1
    	<div id='horaire1'>
    		<input type="radio" name='horaire1' value='h11' />horaire1
    		<br /><input type="radio" name='horaire1' value='h12' />horaire2
    	</div>
    	<input type='checkbox' name='visite' value='v2' onclick="affichertexte(this, 2)" />Visite2
    	<div id='horaire2'>
    		<input type="radio" name='horaire2' value='h21' />horaire1
    		<br /><input type="radio" name='horaire2' value='h22' />horaire2
    	</div>
    	<input type='checkbox' name='visite' value='v3' onclick="affichertexte(this,3)" />Visite3
    	<div id='horaire3'>
    		<input type="radio" name='horaire3' value='h31' />horaire1
    		<br /><input type="radio" name='horaire3' value='h32' />horaire2
    	</div>
    	<input type='submit' name='Valider' value='Valider' />
    </form>

    Et mon petit bout de code en JS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function affichertexte(caseacocher, num){
    	if(caseacocher.checked){
    		document.getElementById("horaire"+num).style.visibility="visible";
    	}else{
    		document.getElementById("horaire"+num).style.visibility="hidden";
    	}
    }
    A la fin de mon formulaire j'ai le bout de code ci-dessous pour que les boutons radios se cachent au chargement de la page.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(i=1;i<4;i++){
    	document.getElementById("horaire"+i).style.visibility="hidden";
    }
    Mon soucis est le suivant, lorsque je coche une checkbox par défaut les boutons radios ne s'affichent pas à cause de ma dernière partie. Mais j’ignore quel test faire pour s'avoir si je dois afficher ou non.
    Auriez-vous une idée ?
    Le JavaScript est loin d'être le langage que je connais le mieux, alors n'hésitez pas de me dire si j'ai mal fait quelque chose.
    En espérant avoir été clair, d'avance merci,
    Lucie

  2. #2
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    Masque les tous AVANT,
    puis lance la fonction pour afficher ceux que tu veux ..
    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 !

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Aube (Champagne Ardenne)

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

    Informations forums :
    Inscription : Juin 2015
    Messages : 5
    Par défaut
    Merci SpaceFrog, je viens d'essayer mais c'est le même problème. Lorsque je coche une checkbox par défaut les boutons radios ne s'affiche pas.
    Merci

  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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    getElementById ...

    id != name
    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
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Aube (Champagne Ardenne)

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

    Informations forums :
    Inscription : Juin 2015
    Messages : 5
    Par défaut
    Merci j'ai fini par trouver, je me doutais bien que c'était tout simple !

    J'ai simplement rajouté un id aux checkbox et j'ai modifié mon dernier morceau code ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    for(i=1;i<4;i++){
    	if(document.getElementById("visite"+i).checked){
    		document.getElementById("horaire"+i).style.visibility="visible";
    	}else{
    		document.getElementById("horaire"+i).style.visibility="hidden";
    	}
    }
    Pourquoi chercher compliqué !
    Merci pour vos réponses !

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

Discussions similaires

  1. developper un tableau avec des cases a cocher
    Par Msysteme dans le forum C#
    Réponses: 14
    Dernier message: 05/10/2011, 17h36
  2. [MySQL] Suppression avec des case a cocher ne fonctionne pas
    Par runcafre91 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 13/02/2010, 18h02
  3. [VBS] Fenêtre avec des cases a cocher
    Par TGV6773 dans le forum VBScript
    Réponses: 2
    Dernier message: 24/01/2010, 10h12
  4. Réponses: 13
    Dernier message: 05/09/2006, 16h25
  5. Comment creer un choix multiple avec des cases a cocher ??
    Par pedrosystem dans le forum Access
    Réponses: 5
    Dernier message: 09/03/2006, 10h36

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