Explication de code avec la fonction map
Bonjour,
Je suis chargée de continuer une application développée par une autre personne. Je suis actuellement entrain de "débugger" le programme, et je bloque sur une partie de code JavaScript...
En gros j'ai un formulaire :
Code:
1 2 3 4 5 6 7
|
<form method="post" onsubmit="JavaScript:initIndexation();" action="" name="formulaire" id="formBiblio">
Fichier (XML ou ZIP) :
<input id="fichier" name="fichier" type="file"/>
<br>
<input type="submit" name="submit" value="Importer"/>
</form> |
et ma fonction JS :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
function initIndexation() {
// récupérer tous les noms de fichier et les mettre dans un tableaux
var files = $$('.file').map(function(elt){
return elt.innerHTML;
});
if(files.length > 0) { //blabla ça marche
}
else{
//blabla message d'erreur (fichier non valide)
}
} |
Le problème, c'est que quand je fais tourner le programme, j'ai files.length = 0, donc je me retrouve dans le cas du else, et j'ai un joli message d'erreur. Pourtant, c'est un bien un fichier XML que je passe en paramètre.
Etant débutante en JS, j'ai essayé de me renseigner sur la fonction map, qui semble permettre de mettre dans un tableau les résultats de la fonction.
La fonction innerHTML semble permettre de modifier une partie du contenu d'une page après son chargement. Bon admettons, même si je ne comprends pas trop pourquoi on fait ça...
En ce qui concerne le $$('.file') , là le mystère reste entier, je n'ai pas encore vu de $ en JS... :aie: (ai-je mal cherché :roll: ?)
En tout cas, toute aide est la bienvenue si vous comprenez ce code... :D