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 :

savoir si un "radio" est coché avec un id


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Par défaut savoir si un "radio" est coché avec un id
    j'aimerais savoir si ils existe une fonction qui permet de savoir si un radio est cocher mais a partir d'un id et pas a partir d'un name ?

    si par exemple il existe l'equivalent de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByName("ref_produit").checked;
    mais avec un id

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    BONJOUR

    getElementsByName retournes un tableau donc tu dois préciser son indice.
    a partir d'un id et pas a partir d'un name
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("idDuRadio").checked;

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Par défaut
    ok
    merci sa marche (quasiment)

    2 eme petit question
    maintenant j'ai une erreur car cette fonction se trouve dans un if et lorsque je teste , si l'id n'est pas checked il me crée une erreur
    (document.getElementById(2) is null
    if (document.getElementById(2).checked))

    donc c'est pour savoir si c'est mon if qui merde ou i il existe une fonction comme isset mais en js

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Vérifie s'il y a un et un seul élément dont l'id est égale à 2 dans ton document.
    getElementById attend un String comme paramètre mais pas un entier. En plus, un id commençant par un chiffre est aussi déconseiller.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Par défaut
    arghhh pas de id = a 2 dans le doc mais certainement dans les includes

    je pence qu'il va falloir trouver une autre maniere
    merci quand meme

  6. #6
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour,


    Citation Envoyé par andry.aime Voir le message
    getElementById attend un String comme paramètre mais pas un entier. En plus, un id commençant par un chiffre est aussi déconseiller.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Par défaut
    ah je suis trop bête le getElementbyId(2) n'existait pas (d'où le null)

    j'ai enfin pu résoudre mon probleme merci pour ton aide

    moi

  8. #8
    Membre averti
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 20
    Par défaut
    Salut,
    j'ai presque le même problème je cherche à vérifier si un bouton radio est cocher ou non !!
    ceci est le formulaire
    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
    form action="traitemant_inscription.php?inscri=dac" method="post" name="inscripformulaire" id="inscription_formulaire" >
      <table  border="0" cellpadding="4" cellspacing="6">
        <tr>
          <td >Choix du type d'inscription</td>
          <td ><input type="radio" name="rdtype" id="rdtype1" value="licence" onclick="afficher();" />
            Licence </td>
          <td ><input type="radio" name="rdtype" id="rdtype2" value="master"  onclick="cacher();"/>
            Master</td>
        </tr>
        <tr>
          <td>Option de l'inscription</td>
          <td><div id="champ_cache" style="display:none">
              <p >
                <input type="radio" name="rdoption" id="rdoption" value="licence Applique" />
                Licence Applique</p>
            <p>
                <input type="radio" name="rdoption" id="rdoption" value="licence Fondamental" />
              Licence Fondamental</p>
          </div></td>
          <td><div id="champ_cache_2" style="display:none">
              <p>
                <input type="radio" name="rdoption" id="rdoption" value="M.Recherche" />
                Recherche</p>
            <p>
                <input type="radio" name="rdoption" id="rdoption" value="M. Proffessionnel" />
              Proffessionnel</p>
          </div></td>
        </tr>
    <input class="btncss" type="submit" name="btnenvoi" id="btnenvoi" value="Envoyer" onclick="confirmation();"/>
    et mon code js est :
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    //premier partie pour cacher les boutons et afficher en clic su l'un des 2 premier licence ou master
    <script type="text/javascript">
    document.getElementById("champ_cache").style.display = "none";
    document.getElementById("champ_cache_2").style.display = "none";
    document.getElementById("champ_cache_3").style.display = "none";
    function afficher()
    {
        document.getElementById("champ_cache").style.display = "block";
        document.getElementById("champ_cache_2").style.display = "none";
    }
     
    function cacher()
    {
        document.getElementById("champ_cache").style.display = "none";
        document.getElementById("champ_cache_2").style.display = "block";
    }
    function etdaffiche()
    {
        document.getElementById("champ_cache_3").style.display = "block";
     
    }
     
    function etdcacher()
    {
        document.getElementById("champ_cache_3").style.display = "none";
     
    }
    function cache_tout()
    {
    document.getElementById("champ_cache").style.display = "none";
    document.getElementById("champ_cache_2").style.display = "none";
    document.getElementById("champ_cache_3").style.display = "none";
    }
    </script>
    le 2eme code pour la verification mais :zoubi::zoubi::zoubi::roll::roll::roll::roll: je suis perdu !!
    <script language="text/javascript">
     
    fonction confirmation()
    {
         var rdname= document.getElementsByName('rdtype').value;
         var mess = '';
     
        if(rdname == '')
        mess += 'ERREUR : Renseignez correctement la question1\n';
     if (mess != '') 
                {
                    alert (mess);
                    return false;
                }    
                else
                {
     
                    return true;    
                }
     
    }    
    </script>

  9. #9
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,
    <input type="radio" name="rdoption" id="rdoption" value="licence Applique" />
    Licence Applique</p>
    <p>
    <input type="radio" name="rdoption" id="rdoption" value="licence Fondamental" />
    Licence Fondamental</p>
    Un id doit être unique dans un document.
    var rdname= document.getElementsByName('rdtype').value;
    Retourne un tableau comme je l'ai dit plus haut, donc tu doits préciser sont indice.
    La test pour voir si un radio est coché ou non se fait avec l'attribut checked qui retourne true ou false.

    A+.

  10. #10
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Citation Envoyé par andry.aime Voir le message
    La test pour voir si un radio est coché ou non se fait avec l'attribut checked qui retourne true ou false.
    +1

    Et puisqu'il s'agit d'un formulaire, c'est même dans la FAQ
    Sauf qu'il vaut mieux préférer la syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms['name_du_form'].elements['name_element']
    A+

  11. #11
    Membre averti
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 20
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Bonjour,+1

    Et puisqu'il s'agit d'un formulaire, c'est même dans la FAQ
    Sauf qu'il vaut mieux préférer la syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms['name_du_form'].elements['name_element']
    A+
    la je suis perdu !!!
    donc il faut récupérer par nom du formulaire et id du bouton radio
    dac mais avec les échange rien !!
    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
    <script language="javascript" type="text/javascript">
     
    fonction confirmation()
    {
              var mess = '';
     
        if(document.inscripformulaire.getElementsById("rdtype1").checked == false)
        //meme avec if(document.forms['inscripformulaire'].getElementsById("rdtype1").checked == false)
        mess += 'ERREUR : Renseignez correctement la question1\n';
     if (mess != '') 
                {
                    alert (mess);
                    return false;
                }    
                else
                {
     
                    return true;    
                }
     
    }    
    </script>

  12. #12
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Re,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsById("rdtype1").checked==false
    getElementById est une méthode de l'objet document et retourne l'objet dont l'id est passé en paramètre. Par contre les méthodes getElementsByName, getElementsByTagName, getElementsByClassName sont des méthodes de plusieurs objets comme document, div, form, ... qui retourne un tableau d'objet.

  13. #13
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par funpro Voir le message
    donc il faut récupérer par nom du formulaire et id du bouton radio
    Non, il s'agit de 2 méthodes d'accès différentes.

    Pour tester un élément en particulier, mieux vaut utiliser les id (ceux-ci devant être unique dans la page, comme souligné par Andry).

    Par contre, pour vérifier si un des radio est coché, mieux vaut passer par les collections, comme indiqué dans la FAQ. Par contre, il s'agit là des name et non des id.
    Tu n'as ainsi qu'à connaitre le name du groupe de radio et non l'id de chaque radio.
    Toi tu as mélangé les 2 notions, ce qui n'est pas correct.
    Avec getElementsByName() le principe est le même.

    Par contre, il faut une boucle (relis la FAQ) et tu n'en as pas.

    En complément, je ne t'indiquait qu'une syntaxe "préférable" à celle de la FAQ. Mais le résultat est le même ...

    A+

Discussions similaires

  1. Savoir si un bouton Radio est coché
    Par bullrot dans le forum Langage
    Réponses: 4
    Dernier message: 23/09/2008, 12h30
  2. Réponses: 5
    Dernier message: 23/03/2006, 12h41
  3. Réponses: 2
    Dernier message: 08/08/2005, 13h33

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