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 :

parcours des éléments d'un document


Sujet :

JavaScript

  1. #1
    r83
    r83 est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 271
    Points : 86
    Points
    86
    Par défaut parcours des éléments d'un document
    Bonjour,

    J'aimerai ajouter un bouton "cocher tout" dans une page. Sur le click, ttes les cases à cocher se cocheraient.
    J'ai écrit le code suivant qui marche, mais je ne sais pas si c'est le mieux. Y a-t-il un autre moyent, notamment en utilisant les propriétés du DOM. Merci pour les réponses, bonne journée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for (var i=0;i<FrmCases.length;i++)
    			{
    				if (document.FrmCases.elements[i].type=="checkbox")
    				{ document.FrmCases.elements[i].checked=true;}
    			}

  2. #2
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Salut,

    Je suppose que les cases à cocher ont le même attribut name : getElementsByName.

    C'est plus parlant.

  3. #3
    r83
    r83 est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 271
    Points : 86
    Points
    86
    Par défaut
    Non, ce n'est pas prévu comme ça.... mais je suis ouvert à toutes les bonne solutions.
    Merci

  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
    Points : 15 059
    Points
    15 059
    Par défaut

    Je pense que c'est mieux de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var items=document.FrmCases.getElementsByTagName('input');
    for (var i=0;i<items.length;i++)
    			{
    				if (items[i].type=="checkbox")
    				{ items[i].checked=true;}
    			}
    Tu ne parcours que les inputs au lieu de tous les éléments du formulaire.

  5. #5
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Ah! Tu as différentes cases à cocher ayant pour valeur "vrai", ou quelque chose de ressemblant?

    Je leur donnerais plutôt à toutes le même attribut name et une valeur unique à chacune, valeur qui peut être l'actuel attribut name, par exemple. Ça permet de n'envoyer qu'un seul paramètre et de boucler dessus au moment de la vérification coté serveur.

  6. #6
    r83
    r83 est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 271
    Points : 86
    Points
    86
    Par défaut
    Merci beaucoup pour ces réponses. Je vais tester ça de suite. Je ne savais pas qu'on pouvit récupérer plusieurs contrôles dans un tableau avec getElementByTagName.... ça va me simplifier la vie!
    Bonne journée

  7. #7
    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 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    sinon c'est le genre de chose qui est prévu dans les libs comme jquery, une syntaxe spécifique permet de recupérer et modifier les propriétés d'éléments par type ...
    Ou encore une petite contribution:
    http://www.developpez.net/forums/d75...filtre-regexp/

  8. #8
    r83
    r83 est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 271
    Points : 86
    Points
    86
    Par défaut
    OK, je verrai Json, je connais de nom,mais je ne me suis pas encore penché dessus.
    Par contre, j'ai un pb de compréhension.... Le code ci-dessous ne me renvoie aucune erreur, s'exécute bien, sauf que dans la première boucle, il ne se passe rien.....
    Si je fais un parallèle avec d'autres langages (ex c#), la boucle for(var case in uneCollection) me récupèrerait un objet de la classe object. Il sufirait donc de caster en checkbox et le tour est joué. Est-ce qu'ici cette boucle n'est pas acceptable puisque en JS le typage et faible, et donc pas de cast possible.
    Merci pour les réponses, bonne soirée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    			var lesCases=document.getElementsByName("choixSport");
    			alert (lesCases.length);
    			for (var uneCase in lesCases)
    			{
    				uneCase.checked=true;
    			}
    			for (var i=0;i<lesCases.length;i++)
    			{
    				lesCases[i].checked=true;
    			}

Discussions similaires

  1. parcours des éléments d'une image
    Par trondro dans le forum Images
    Réponses: 3
    Dernier message: 30/05/2013, 10h44
  2. Parcours des éléments d'une requete
    Par rominous41 dans le forum VBA Access
    Réponses: 8
    Dernier message: 04/05/2011, 08h54
  3. [WD15] Parcours des éléments du tableau
    Par sphynxounet dans le forum WinDev
    Réponses: 3
    Dernier message: 23/06/2010, 08h55
  4. Parcours des éléments d'un ListView
    Par Nalfeim dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 15/07/2008, 15h32
  5. Parcours dynamique des éléments d'un form
    Par leminipouce dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 02/10/2006, 19h09

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