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 :

équivalent de la fonction getElementByTagType


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 91
    Points : 43
    Points
    43
    Par défaut équivalent de la fonction getElementByTagType
    Bonjour tout le monde
    j'aimerai savoir si je peux réccupérer tous les checkbox dans ma feuille en passant par une fonction javascript similaire à document.getElementsByTagName

    P.s : j'ai déjà fait document.getElementsByTagName('checkbox') et ça n'a pas fonctionné.

  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
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function getCheckbox()
    {
    	var Obj=document.getElementByTagName('input');
    	for (var i = 0; i < Obj.elements.length; i++)
    	{
    		if (Obj.elements[i].type == "checkbox") {alert(Obj.elements[i].name+' est un checkbox')}
    	}
    }

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 91
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function getCheckbox()
    {
    	var Obj=document.getElementByTagName('input');
    	for (var i = 0; i < Obj.elements.length; i++)
    	{
    		if (Obj.elements[i].type == "checkbox") {alert(Obj.elements[i].name+' est un checkbox')}
    	}
    }
    Désolé mais c'est pas ce que je cherche
    Je voudrais avoir une liste qui ne contient que les tags de type checkbox.

  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 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Quelle imagination débordante ....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
     
    function getCheckbox()
    {TabChecks=new Array();
     
    	var Obj=document.getElementByTagName('input');
    	for (var i = 0; i < Obj.elements.length; i++)
    	{
    		if (Obj.elements[i].type == "checkbox") {TabChecks.push(Obj.elements[i])}
    	}
    }
    La prochaine fois in te donne la crémière avec ???

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 91
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Quelle imagination débordante ....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
     
    function getCheckbox()
    {TabChecks=new Array();
     
    	var Obj=document.getElementByTagName('input');
    	for (var i = 0; i < Obj.elements.length; i++)
    	{
    		if (Obj.elements[i].type == "checkbox") {TabChecks.push(Obj.elements[i])}
    	}
    }
    La prochaine fois in te donne la crémière avec ???
    c'est pas la peine de faire un pré jugement comme ça
    je confirme que j'ai déjà essayer ça d'une autre façon et ça n'a pas fonctionner, et j'ai même essayer ton code pour en être sure et ça n'a rien ajouter de plus

  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 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    dans tabChecks tu a la liste des objets checkbox de ta page ...

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 91
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    dans tabChecks tu a la liste des objets checkbox de ta page ...
    ça l'aire de ne pas fonctionner, car je fais des alert dans ma boucle et ça ne s'affiche pas
    je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(Obj.elements.length);
    et je vois rien, je confirme que pour l'appel à la fonction c est par le biais du ONSUBMIT.

  8. #8
    Membre actif Avatar de k1rby
    Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2008
    Messages : 181
    Points : 219
    Points
    219
    Par défaut
    Code XHTML : 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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    <title>Test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <script type="text/JavaScript">
    function getElementsByTagType(tag,type){
            var typeTable=new Array();
            var tagTable=document.getElementsByTagName(tag);
            for(var i=0;i<tagTable.length;i++)
                    if(tagTable[i].getAttribute('type')==type)
                            typeTable.push(tagTable[i]);
            return typeTable;
    }
    </script>
    </head>
    <body>
     
    <input type="checkbox" />
    <input type="checkbox" />
    <input type="checkbox" />
    <input type="checkbox" />
    <input type="checkbox" />
    <script type="text/javascript">
    alert(getElementsByTagType('input','checbox').length);
    </script>
     
    </body>
    </html>
    Il me lance bien une alert contenant le nombre 5.

  9. #9
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    on se calme ^^
    allez montre nous ton code généré ^^

  10. #10
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 91
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par le_chomeur Voir le message
    on se calme ^^
    allez montre nous ton code généré ^^
    c est un code qui fais plus que 300 ligne donc je peux pas le mettre ici, mais je vais vous explique ce que j'ai.
    c est un formulaire php que je dois valider par javascript ce formulaire contient une table avec plusieurs ligne, et dans chaque ligne y a une select box avec 4 checkbox, donc je dois empêcher l'envoi du formulaire ci l'utilisateur a choisi une valeur supérieur à 1 dans le select box sans remplir au moins une checkbox.
    je vous montre la fonction javascript:
    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
     
    function valider_impact()
    {
        TabChecks=new Array();
     
    	var Obj=document.getElementByTagName('input');
    	alert(Obj.elements.length);
    	for (var i = 0; i < Obj.elements.length; i++)
    	{
    		if (Obj.elements[i].type == "checkbox") 
    		{
    		 alert("test");
    		 TabChecks.push(Obj.elements[i]);
    		}
    	}
    	var listes = document.getElementsByTagName('select');
    	var passed;
    	for(var i = 0 ; i < listes.length; i++){
    	  if(listes[i].value!="" && listes[i].value > 1)
    	  {
    	    passed = false;
    	    for(var j = i*4,arret = j+4; j< arret; j++)
    		{
    		  if(TabChecks[j].checked)
    		  {
    			passed = true;
    	      }
    		}  
    	    if(!passed)
    		{
    		  // on affiche un message d'erreur
        	  document.getElementById("msg").style.display="";
    		  return false;
    		}
    	  }
    	}
     
    	return true;
    }

  11. #11
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 91
    Points : 43
    Points
    43
    Par défaut
    Est ce que vous avez une solution à mon problème

  12. #12
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    montre nous pour une ligne la concordance entre les drop et la checkbox ...

  13. #13
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 91
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par le_chomeur Voir le message
    montre nous pour une ligne la concordance entre les drop et la checkbox ...
    j'ai pas compris ce que tu veux dire
    est ce que je me suis mal exprimé en haut

  14. #14
    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
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var Obj=document.getElementByTagName('input');
    alert(Obj.elements.length);
    for (var i = 0; i < Obj.elements.length; i++)
    Tu aurais pu voir qu'il y a un soucis ici...
    Tu récupères dans Obj une collection d'éléments input, pas un formulaire, or les input n'ont pas de propriété elements donc tu boucles sur les mauvais objets...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function getCheckbox()
    {TabChecks=new Array();
     
    	var Obj=document.getElementByTagName('input');
    	for (var i = 0; i < Obj.length; i++)
    	{
    		if (Obj[i].type == "checkbox") {TabChecks.push(Obj[i])}
    	}
    }
    Le fait que l'on te propose un exemple de code ne t'empêches pas de le vérifier, c'étais le sens de la remarque de SpaceFrog

  15. #15
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 91
    Points : 43
    Points
    43
    Par défaut
    effectivement je l'ai adapter en mettant bien ce que tu viens d'écrire et ça n'a pas fonctionné, et aprés la réponse de SpaceFrog j'ai pris son code et ça n'a pas fonctionné aussi.
    je sais pas où elle est l'erreur j'ai passé toute la journée devant ça

  16. #16
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 143
    Points
    11 143
    Par défaut
    getElementsByTagName('input');
    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
     
    function getCheckbox()
    {
    	var TabChecks=new Array();
    	var i, j;
     
    	var Obj = document.getElementsByTagName('input');
    	j = 0;
     
    	for (i = 0; i < Obj.length; i++)
    	{
    		if (Obj[i].type.toLowerCase() == "checkbox") 
    		{
    			TabChecks[j] = Obj[i];
    			j++;
    		}
    	}
     
    	alert(TabChecks.length);
    }
    c'est fou ce qu'une faute de frappe peut vous rendre dingue

  17. #17
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 91
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par Auteur Voir le message
    getElementsByTagName('input');
    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
     
    function getCheckbox()
    {
    	var TabChecks=new Array();
    	var i, j;
     
    	var Obj = document.getElementsByTagName('input');
    	j = 0;
     
    	for (i = 0; i < Obj.length; i++)
    	{
    		if (Obj[i].type.toLowerCase() == "checkbox") 
    		{
    			TabChecks[j] = Obj[i];
    			j++;
    		}
    	}
     
    	alert(TabChecks.length);
    }
    c'est fou ce qu'une faute de frappe peut vous rendre dingue
    c est vraiment fouuuu, ça m'a rendu vraiment diiiingue cette erreur de frappe, je dois faire attention la prochaine fois avant de faire un copier coller
    En tous cas tu m'as sauvé je te remercies infiniment pour ton aide

  18. #18
    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
    merci fillot

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

Discussions similaires

  1. [Système] Équivalent de la fonction system()
    Par 00Dexter00 dans le forum Langage
    Réponses: 3
    Dernier message: 23/02/2007, 11h59
  2. [FireBird] équivalent de la fonction LENGTH
    Par richard038 dans le forum SQL
    Réponses: 9
    Dernier message: 29/06/2006, 17h40
  3. [Fichiers&Repertoires] équivalence d'une fonction C# ?
    Par bakonu dans le forum Général Java
    Réponses: 9
    Dernier message: 09/06/2006, 10h26
  4. Réponses: 16
    Dernier message: 20/12/2005, 14h54
  5. [String] équivalent de la fonction eval() en javascript
    Par jeyce dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 01/09/2004, 08h42

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