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 :

Un seul id pour deux cases à cocher


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 412
    Points : 145
    Points
    145
    Par défaut Un seul id pour deux cases à cocher
    bonjour,
    j'aimerais savoir si il y'a la possibilité d'attribuer un seul id pour deux éléments d'un groupe de case à cocher

    j'ai un formulaire qui envoie la valeur des id pour après être traité en getElementById par javascript pour une insertion dans une base de donnée

    plus loin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    toto=document.getElementById('toto').value;
    toto2=document.getElementById('toto2').value;
    et enfin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     var sendAjax = $.ajax({
         type: "POST",
         url: 'update-bdd.php',
          data: 'toto='+toto+'&toto2='+toto2,success: handleResponse
    	     });
    ça marche pour tous les champs du formulaire mais j'ai un soucis avec deux cases à cocher, comme elles ont le même nom d'id ça ne fonctionne pas
    j'ai essayé d'envoyé la valeur du "name" par getElementsByName() mais il m'envoie une valeur " untitled "

    merci

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 657
    Points
    44 657
    Par défaut
    Bonsoir,
    une ID DOIT ETRE UNIQUE, qu'on se le dise.

    Tes deux cases à cocher sont-elles de type checkbox ou de type radio.

    Tu peux passer par le NAME mais il te faudra récupérer la value de la/les case(s) cochées suivant le cas.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 412
    Points : 145
    Points
    145
    Par défaut
    merci pour ta réponse

    il s'agit de deux cases à cocher , l'une à la valeur "0" et l'autre la valeur "1"

    j'ai essayé par le name (pour l'objet nommé "toto" de des deux cases à cocher )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    toto=document.getElementsByName('toto').value;
    toto2=document.getElementById('toto2').value;
    il m'envoie une valeur indéfinie , alors que pour les autres élément du formulaire qui sont en id ( select, ,input text etc ) ça envoie les bonnes valeurs

    par exemple toto envoie "indefini" et "toto2" ( un champ de type text ) envoie la bonne valeur

  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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    remarque le pluriel
    cela renvoie une collection

    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getElementsByName('toto')[0]
    retourne le premier élément de la collection

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 412
    Points : 145
    Points
    145
    Par défaut
    j'ai rajouté [] dans le name des chexbox mais il envoie toujours "undefined"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <input name="toto[]" type="checkbox"   value="1" <?php   if($toto== "1") { echo "checked"; } ?>  >
     
     <input type="checkbox" name="toto[]"   value="2"  <?php  if($toto== "2") { echo "checked"; } ?>   >

  6. #6
    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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    le fait de rajouter [] dans le name influe surtout sur la recupération des données coté serveur qui sont alors sous forme d'array


    coté javascript cela devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     document.getElementsByName('toto[]')[0]
     document.getElementsByName('toto[]')[1]

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 412
    Points : 145
    Points
    145
    Par défaut
    j'ai fait ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     toto = document.getElementsByName("toto");
    for (i=0; i<toto.length; i++)
    	if (toto [i].checked)
    		 toto = toto [i].value;alert(toto);
    ça envoie bien les bonnes valeurs maintenant

    merci Spacefrog et NoSmoking

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

Discussions similaires

  1. Récupérer valeurs de deux case à cocher en tableau
    Par christgh dans le forum Langage
    Réponses: 2
    Dernier message: 05/12/2008, 08h25
  2. Réponses: 5
    Dernier message: 09/10/2008, 16h40
  3. Un tableau pour chaque case à cocher
    Par The Molo dans le forum Langage
    Réponses: 3
    Dernier message: 18/08/2008, 13h49
  4. Commande $\square$ pour une case à cocher -> erreur
    Par enneite dans le forum Mathématiques - Sciences
    Réponses: 2
    Dernier message: 05/12/2007, 20h15
  5. Une seule déclaration pour deux fiches
    Par Général03 dans le forum C++Builder
    Réponses: 12
    Dernier message: 29/08/2007, 10h29

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