Compter les champs dans un DIV

Résolu
cs_cedlao Messages postés 6 Date d'inscription samedi 16 août 2008 Statut Membre Dernière intervention 10 décembre 2010 - 3 mai 2010 à 18:25
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 7 mai 2010 à 19:07
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

cs_cedlao Messages postés 6 Date d'inscription samedi 16 août 2008 Statut Membre Dernière intervention 10 décembre 2010
6 mai 2010 à 22:50
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
3
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
6 mai 2010 à 18:44
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)
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
7 mai 2010 à 19:07
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)
0
Rejoignez-nous