Compter les champs dans un DIV [Résolu]

Signaler
Messages postés
6
Date d'inscription
samedi 16 août 2008
Statut
Membre
Dernière intervention
10 décembre 2010
-
PetoleTeam
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
J'ajoute un champs dans un formulaire Php avec un code javascript.
J'ai récupéré (sql/php) le nombre de champs variables dans ma base de données.
Je voudrais donner aux chps crées par ce javascript donc un nom qui serai MonNombreInitial + 1 .
Pas trop de souci pour un seul ajout avec un passage de paramètre.
Le souci c'est lorsque j'en ajoute plusieurs.
Il faudrait calculer le nombre de champs (les N initiales + ceux déjà ajoutés )dans le DIV contenant tous les champsa chaque clique pour ajouter un champ et ajouter 1 au nom.
Un truc du style countElement ...
9a doit etre tout bete mais je tourne en rond.
En esperant avoir été assez claire

3 réponses

Messages postés
6
Date d'inscription
samedi 16 août 2008
Statut
Membre
Dernière intervention
10 décembre 2010

j'allais ajouter un post pour donner a ceux que ça peut aider la solution que j'ai trouvé.
Merci quand meme.
Effectivement, par contre Obj.childNodes.length me renvoi Nx2 elements puisque chaque clique m'ajoute mon textarea et un saut de ligne.Bon ça se gère.
Merci encore
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
11
Bonjour,
il existe chilNodes qui te renvoi le nombre d'enfants.

ATTENTION les différents browsers ne renvoient pas le même résultats pour le même objet, il faut tester si le noeud enfant est un "vrai" en lisant son nodeType.
nodeType 1> OK
nodeType 3> NOK

exemple rapide pour test sous différents butineurs...
<html>
<head>
<title>childNodes</title>
</head>



  
#1

  
#2

  
#3

  
#4



<script type="text/javascript">
var Obj = document.getElementById( 'D_MAIN');
alert( Obj.childNodes.length);
</script>

</html>


;O)
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
11
Bonjour,
tu peux également utiliser la méthode getElementsByTagName( nom_du_tag)
var Obj = document.getElementById( 'D_MAIN');
alert( Obj.getElementsByTagName('DIV').length);

la tu auras le même résultat sur tous les navigateurs.
;O)