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 :

Traitement après check radio [Débutant(e)]


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Traitement après check radio
    Bonjour étant étudiant en communication je me dois de faire un formulaire qui traite une inscription à une manifestation. Je débute donc dans la programmation.

    J'ai des boutons radios qui permettent de choisir combien de personnes inscrire qui se presentent sous la forme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <p>Nombre de personne(s):</p>
    <input type="radio" name="radio" value="1" > 1</br>
    <input type="radio" name="radio" value="2" > 2</br>
    <input type="radio" name="radio" value="3" > 3</br>
    <input type="radio" name="radio" value="4" > 4</br>
    J'aimerais qu'un javascript effectue un traitement en fonction du radio sélectionné. En effet j'ai besoin du poids des personnes, j'aimerais donc qu'en fonction du nombre de personnes sélectionné, des champs apparaissent pour insérer le poids des personnes.
    Ex:
    - si l'utilisateur coche 2 personnes, 2 champs apparaissent pour inscrire le poids des 2 personnes.
    - si l'utilisateur coche 3 personnes, 3 champs apparaissent pour inscrire le poids des 2 personnes.
    - etc...

    Je n'ai aucune idée de comment faire sachant que je n'ai jamais fait de Javascript. Quelqu'un pourrait-il m'aiguiller?

    merci d'avance

  2. #2
    Inactif  

    Homme Profil pro
    développeur Vala
    Inscrit en
    Février 2011
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : développeur Vala
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 478
    Points : 3 700
    Points
    3 700
    Par défaut
    Bonjour
    Déjà un bon point : tu as donné un même nom à tous tes boutons radio. Maintenant en javascript, tu dois faire une fonction qui utilise la valeur des boutons.
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    function form(value){/* code javascript */}
    et dans ton code html appeler la fonction comme ceci : (c'est un exemple, tu modifieras si ça ne te convient pas)
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" value="valider" onclick="form(nom_formulaire.nom_radio.value)">
    où nom_formulaire et nom_radio sont les noms du formulaire et du bouton radio

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Merci de ta réponse rapide,

    De cette façon je suis obligé de cliquer sur mon bouton valider aussi? j'aimerais que sa soit le fait de cocher le radio qui change quelque chose, et non le fait de valider le formulaire. Mais je ne sais même pas si c'est possible.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 14
    Points : 16
    Points
    16
    Par défaut
    Du coup il suffit de mettre l'évenement OnClick sur tes boutons radios.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="radio" name="radio" value="1" onclick="form(nom_formulaire.nom_radio.value)"> 1</br>
    etc ...

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Ha je vois, merci.
    Du coup comment dois-je m'y prendre dans mon script pour ouvrir un champ texte correspondant lors de la selection du radio? Et ce de façon interactive. Ca m'a l'air bien compliqué mon affaire.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 14
    Points : 16
    Points
    16
    Par défaut
    Normalement (en tout cas je crois), le mieux est de crée ton ou tes champs de texte, mais en caché, avec display='none'.

    Ensuite dans la fonction qui est appeler dans tes radios, il suffit d'indiquer au champs texte de reaparaitre.

    Je t'ai fait un exemple, il y a peut être une meilleur solution, je ne suis pas hyper bon

    html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
          <p>Nombre de personne(s):</p>
          <p>
            <input type="radio" name="radio" value="1" OnClick="display();"> 1</br>
            <input type="radio" name="radio" value="2" OnClick="display();"> 2</br>
            <input type="radio" name="radio" value="3" OnClick="display();"> 3</br>
            <input type="radio" name="radio" value="4" OnClick="display();"> 4</br>
            </p>
            <p>
            <input type="text" id="Texte1" name="text1" style="display:none;" value="1" >
            <input type="text" id="Texte2" name="text2" style="display:none;" value="2" >
            <input type="text" id="Texte3" name="text3" style="display:none;" value="3" >
            <input type="text" id="Texte4" name="text4" style="display:none;" value="4" >
            </p>
    jscript

    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
              function display()
                {
                if(document.ReplayForm.radio[0].checked)
                    {
                    document.getElementById("Text1").style.display = 'block';
                    document.getElementById("Text2").style.display = 'none';
                    document.getElementById("Text3").style.display = 'none';
                    document.getElementById("Text4").style.display = 'none';
                    }
                if(document.ReplayForm.radio[1].checked)
                    {
                    document.getElementById("Text1").style.display = 'block';
                    document.getElementById("Text2").style.display = 'block';
                    document.getElementById("Text3").style.display = 'none';
                    document.getElementById("Text4").style.display = 'none';
                    }
                if(document.ReplayForm.radio[2].checked)
                    {
                    document.getElementById("Text1").style.display = 'block';
                    document.getElementById("Text2").style.display = 'block';
                    document.getElementById("Text3").style.display = 'block';
                    document.getElementById("Text4").style.display = 'none';
                    }
                if(document.ReplayForm.radio[3].checked)
                    {
                    document.getElementById("Text1").style.display = 'block';
                    document.getElementById("Text2").style.display = 'block';
                    document.getElementById("Text3").style.display = 'block';
                    document.getElementById("Text4").style.display = 'block';
                    }
                }

  7. #7
    Inactif  

    Homme Profil pro
    développeur Vala
    Inscrit en
    Février 2011
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : développeur Vala
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 478
    Points : 3 700
    Points
    3 700
    Par défaut
    ça ne serait pas mieux un seul champ texte, auquel on attribue sa valeur ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/10/2006, 16h24
  2. Réponses: 6
    Dernier message: 28/08/2006, 17h02
  3. Traitement de boutons radio
    Par K-Kaï dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 18/07/2006, 15h03
  4. [JSP] Réaliser un traitement après clic sur un lien donné
    Par Ataman dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 25/06/2006, 10h42
  5. [MySQL] Traitement après clique sur bouton submit
    Par H-bil dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 24/05/2006, 13h29

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