Impossible lire taille Array en Javascript

Résolu/Fermé
jypyx Messages postés 683 Date d'inscription dimanche 28 octobre 2007 Statut Membre Dernière intervention 28 novembre 2012 - 8 juil. 2011 à 16:59
jypyx Messages postés 683 Date d'inscription dimanche 28 octobre 2007 Statut Membre Dernière intervention 28 novembre 2012 - 8 juil. 2011 à 17:39
Bonjour,

Voilà le problème que je recontre.
Je veux rentrer mes données dans un Array, jusque la tout se passe bien. Cependant une fois sorti de ma boucle for il est possible de retrouver une donnée de mon tableau impossible d'en connaitre la taille :

function xmlPartsRequest(){
     var partdsdesc = new Array();
     for(i = 0; i <= partscount-1; i++){
	partsdesc[i] = xmldoc.getElementsByTagName("partDescription")[i].childNodes[0].nodeValue;
				
     }
     alert(partsdesc[0]);
     alert(partsdesc.lenght);

     return partsdesc;
}


Mon premier alert m'affiche bien la donnée en question mais le second m'affiche undifined.

De plus il m'est impossible de lire mes données en dehors de ma fonction
xmlPartsRequest 


Lorsque je fais appel au tableau depuis une autre fonction, il ne se passe rien du tout.


$('#searchformoptions').submit(function(){
		alert(partsdesc[0]);
	});



Si quelqu'un sait pourquoi je me retrouve avec ces soucis et serait en mesure de les résoudre je lui en serais très reconnaissant.
A voir également:

3 réponses

Bonjour

Non, il ne dit pas undifined mais undefined. Si tu faisais attention, tu aurais aussi mis length au lieu de lenght dans ton script et tu n'aurais pas eu ce undefined.

Quant à la variable que tu déclares avec var dans une fonction, elle est locale à la fonction, normal que tu n'y accèdes pas de l'extérieur. Enlève le var.
0
jypyx Messages postés 683 Date d'inscription dimanche 28 octobre 2007 Statut Membre Dernière intervention 28 novembre 2012 107
8 juil. 2011 à 17:25
Oulaaaaa fin de journée, je savais qu'a force d'avoir trop le nez dans mon code je ne verrais pas une faute aussi stupide :D

Pour le var je te remercie cela a fonctionné, je penser que le return permettait d'accéder a la variable même déclarer avec un var.
0
jypyx Messages postés 683 Date d'inscription dimanche 28 octobre 2007 Statut Membre Dernière intervention 28 novembre 2012 107
8 juil. 2011 à 17:26
Par contre si tu t'y connais bien en javascript j'aurais une autre question à te poser. Moins bête cette fois. Est-tu d'accord ?
0
Le return ne permet pas d'utiliser une variable locale hors d'une fonction, mais il permet d'utiliser la valeur retournée lors de l'appel à la fonction, par exemple
  x= xmlPartsRequest();
  alert (x[0]);
  alert(x.length);


Et si tu as d'autres questions, crée une nouvelle discussion sur le forum. J'essaierai d'y répondre si je peux, mais ce soir je ne reste pas devant mon PC. Mais il y a d'autres personnes pour répondre
0
jypyx Messages postés 683 Date d'inscription dimanche 28 octobre 2007 Statut Membre Dernière intervention 28 novembre 2012 107
8 juil. 2011 à 17:39
Merci pour ton aide, si jamais l'envie te prends de regarder le nouveau ticket que j'ai crée c'est par ici que ça se passe :
https://forums.commentcamarche.net/forum/affich-22582028-requete-xmlhttprequest-fonctionne-que-sous-ie
0