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 :

Recuperer les éléments d'une checkbox si checked


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 149
    Par défaut Recuperer les éléments d'une checkbox si checked
    Bonjour,

    Je ne comprends pas pourquoi j'ai l'erreur suivante =>

    SCRIPT5007: La valeur de la propriété « afficherMessage » est null ou non définie, pas un objet Function
    testJSChap2 - Copie.html, Ligne 45 Caractère 42
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function afficherMessage()
    {
    	var cases = document.getElementById("idForm").mesCases;
    	var platsFavoris=new Array();
    	for (var i=0; i<cases.length;i++)
    		if (cases[i].checked)
    			platsFavoris+=cases[i].value;
    		for (var i=0;i<platsFavoris.length;i++)
    			var lesPlats+= ((platsFavoris[i].value) +', ');
    	return alert(lesPlats);
    }
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <body>  <!-- corps du document -->
     
    <form id="idForm">
    Vous aimez : <br />
    <input type="checkbox" name="mesCases" value="pizza" />la pizza <br />   
    <input type="checkbox" name="mesCases" value="tartiflette" /> la tartiflette <br />
    <input type="checkbox" name="mesCases" value="ratatouille" /> la ratatouille <br />   
    <input type="button" value="Ok" onclick="afficherMessage()" /> 
    </form>
     
    </body>

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    platsFavoris+=cases[i].value;
    Tu additionnes un tableau et une valeur textuelle ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 149
    Par défaut suite
    euh ^^ comment rajouter un élément dans un tableau à chaque tour de boucle ? Juste faire "=" ?
    ou alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    platsFavoris.push(cases[i].value);
    ça marche pas non plus (en tout cas il y a toujours la même erreur qu'indiqué dans mon premier message et rien d'indiqué pour cette ligne)

    Merci pour ton aide

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var lesPlats+= ((platsFavoris[i].value) +', ');
    Un élément de tableau n'a pas de propriété value...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return alert(lesPlats);
    C'est pas très orthodoxe ça...
    alert() ne correspond pas à une valeur... donc ce que tu retournes ne correspond pas à grand chose.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 149
    Par défaut suite
    Ok c'est pour ça que je propose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    platsFavoris.push(cases[i].value);
    mais cela ne fonctionne pas.

    Pour alert j'ai suivi des tuto ou on pouvait mettre du texte dans une variable x et retourner x dans la fonction.

    Je suis un peu perdu là, je ne vois pas vers quoi aller ?

    MERCI.

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 202
    Par défaut
    Bonjour,
    mais cela ne fonctionne pas.
    lourd à parier que tu n'as pas réaliser toutes les modifications dans ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var cases = document.getElementById("idForm").mesCases;
    var platsFavoris= [];
    for (var i=0; i<cases.length;i++){
        if (cases[i].checked){
            platsFavoris.push(cases[i].value);
        }
    }
    dans ce code tu transfères dans le tableau platsFavoris la valeur de la case si elle est cochée.

    Maintenant je ne vois pas bien l'intérêt de la 2éme boucle for, si ce n'est transférer le tableau platsFavoris dans le tableau lesPlats.

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

Discussions similaires

  1. tkinter recuperer tous les éléments d'une listbox
    Par RyzenOC dans le forum Général Python
    Réponses: 2
    Dernier message: 21/04/2015, 16h53
  2. [TestStand] Compter les éléments d'une chaîne de caractères
    Par capblans dans le forum Autres langages
    Réponses: 2
    Dernier message: 29/04/2005, 09h29
  3. recuperer les minimum d'une séquence d'entiers?
    Par novice12 dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 25/01/2005, 03h44
  4. Récuperer les fichiers d'une autre machine sur une autre
    Par khalidlyon dans le forum Réseau
    Réponses: 1
    Dernier message: 09/11/2004, 13h40
  5. Réponses: 2
    Dernier message: 11/08/2003, 09h43

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