Problème de décrémentation en javascript

Problème de décrémentation en javascript - HTML/CSS - Programmation

Marsh Posté le 17-12-2008 à 09:59:55    

Bonjour à tous,
 
Alors voilà mon souci. J'ai un tableau avec des données dedans. Je souahite extraire les données de ce tableau. pour cela j'utilise une boucle for. Si je le fait en commençant par i=0 jusqu'à ce que i soit égale à la taille du tableau, il n'y a pas de problème. mais mon souci c'est que je souahite commencer l'extraction des données en commençant par la fin donc voici ce que j'ai fait... mais ça ne marche pas et je ne comprend pas pourquoi !
 

Code :
  1. for(i = tab_entree.length; i >= 0; i--){
  2.    document.write(i + "<br />" )
  3. };


 
Mais cette boucle ne me sort rien alors que les cellules du tableau tab_entree sont remplies (tableau allant de l'indice 0 jusqu'à l'indice 20).
 
Si quelqu'un a la solution à mon problème je suis preneur!
 
merci à tous pour votre aide

Reply

Marsh Posté le 17-12-2008 à 09:59:55   

Reply

Marsh Posté le 17-12-2008 à 10:12:21    

C'est quoi tab_entree ?

Reply

Marsh Posté le 17-12-2008 à 10:26:01    

Oups pardon tab_entree c'est le tableau en question que je souhaite parcourir.il est déclaré ainsi (il va jusqu'à tab_entree[0]):
 

Code :
  1. var tab_entree = new Array();
  2.   tab_entree[20] = "option value='actualites_actions_200901.html ";
  3.   tab_entree[19] = "option value='actualites_actions_200812.html ";
  4.   tab_entree[18] = "option value='actualites_actions_200810.html ";
  5.   tab_entree[17] = "option value='actualites_actions_200809.html ";
  6.                                        ...


 
Merci

Reply

Marsh Posté le 17-12-2008 à 12:16:12    

Effectivement ça fonctionne.
 
mais en fait ma boucle est plus compliquée que ça en réalité.
 
le truc c'est qu'elle fonctionne très bien en incrémentant mais dès que je passe en décrémentation plus rien ne s'affiche!
 
Et ça me rend fou!
 
Voici mon script en entier (je sais, il est pas optimisé et un peu bourin !) :
 

Code :
  1. function affiche_liste(){
  2.  var tab_mois = new Array();
  3.   tab_mois[0] = "Janvier";
  4.   tab_mois[1] = "Février";
  5.   tab_mois[2] = "mars";
  6.   tab_mois[3] = "Avril";
  7.   tab_mois[4] = "Mai";
  8.   tab_mois[5] = "Juin";
  9.   tab_mois[6] = "Juillet";
  10.   tab_mois[7] = "Août";
  11.   tab_mois[8] = "Septembre";
  12.   tab_mois[9] = "Octobre";
  13.   tab_mois[10] = "Novembre";
  14.   tab_mois[11] = "Décembre";
  15.  var tab_entree = new Array();
  16.   tab_entree[20] = "option value='actualites_actions_200901.html ";
  17.   tab_entree[19] = "option value='actualites_actions_200812.html ";
  18.   tab_entree[18] = "option value='actualites_actions_200810.html ";
  19.   tab_entree[17] = "option value='actualites_actions_200809.html ";
  20.   tab_entree[16] = "option value='actualites_actions_200807.html ";
  21.   tab_entree[15] = "option value='actualites_actions_200806.html ";
  22.   tab_entree[14] = "option value='actualites_actions_200805.html ";
  23.   tab_entree[13] = "option value='actualites_actions_200804.html ";
  24.   tab_entree[12] = "option value='actualites_actions_200803.html ";
  25.   tab_entree[11] = "option value='actualites_actions_200801.html ";
  26.   tab_entree[10] = "option value='actualites_actions_200712.html ";
  27.   tab_entree[9] = "option value='actualites_actions_200711.html ";
  28.   tab_entree[8] = "option value='actualites_actions_200709.html ";
  29.   tab_entree[7] = "option value='actualites_actions_200707.html ";
  30.   tab_entree[6] = "option value='actualites_actions_200705.html ";
  31.   tab_entree[5] = "option value='actualites_actions_200704.html ";
  32.   tab_entree[4] = "option value='actualites_actions_200703.html ";
  33.   tab_entree[3] = "option value='actualites_actions_200702.html ";
  34.   tab_entree[2] = "option value='actualites_actions_200701.html ";
  35.   tab_entree[1] = "option value='actualites_actions_200610.html ";
  36.   tab_entree[0] = "option value='actualites_actions_200609.html ";
  37.   // Permet de récupérer le nom de la page
  38.   var urlCourant = document.location.pathname;//récupère le chemin sans l'url web  
  39.   var indiceDepart = urlCourant.lastIndexOf('_')+1; // Prend le dernier "_" Plus 1 car on ne veut pas le '_'  
  40.   var indiceArrivee = urlCourant.length-5; // Moins les 5 caractères de l'extension.  
  41.   var nomPage = urlCourant.substring(indiceDepart, indiceArrivee);/*On récupère ce qui se trouve entre le dernier "_" et le ".html" */
  42.   //Fin récupération nom de la page
  43.   for(i = tab_entree.length; i >= 0 ; i++){
  44.    var fin = "</option>";
  45.    var selected = ">";
  46.    /*Récupération de l'année*/
  47.    var anneedepart = tab_entree[i].lastIndexOf('_')+1; // Prend le dernier "_" Plus 1 car on ne veut pas le '_'  
  48.    var anneearrivee = tab_entree[i].length-8; // Moins l'espace + le mois caractères + les 5 caractères de l'extension.  
  49.    var annee = tab_entree[i].substring(anneedepart, anneearrivee);/*On récupère ce qui se trouve entre le dernier "_" et le "mois.html" */
  50.    /*Récupération du mois*/
  51.    var moisdepart = tab_entree[i].lastIndexOf('_')+5; // Prend le dernier "_" Plus 1 (_) + l'année  
  52.    var moisarrivee = tab_entree[i].length-6; // Moins l'espace + les 5 caractères de l'extension.  
  53.    var mois = tab_entree[i].substring(moisdepart, moisarrivee);/*On récupère ce qui se trouve entre l'année et le ".html" */
  54.    var anneemois = annee + mois;
  55.    var debut = "<option value='actualites_actions_" + anneemois + ".html'";
  56.    if(anneemois == nomPage){
  57.     var selected = " selected='selected'>";
  58.    }
  59.    //Permet d'enlever le zero des mois inf à octobre afin de les coordonner avec le tab_mois
  60.    if(mois < 10){
  61.     var moissanszero = mois.substring(1, 2);
  62.     var moislettre = moissanszero-1;//on enlève un pour etre concordant avec le tab_mois
  63.     document.write(debut);
  64.     document.write(selected);
  65.     document.write(tab_mois[moislettre] + "   " + annee + fin + "<br />" );
  66.     //document.write(i);
  67.    }
  68.    else{
  69.     var moislettre = mois-1;
  70.     document.write(debut);
  71.     document.write(selected);
  72.     document.write(tab_mois[moislettre] +  "   " + annee + fin + "<br />" );
  73.     //document.write(i);
  74.    }
  75.   }
  76. }


 
Voilou. J'espère que ça va vous aider!
 
merci beaucoup

Reply

Marsh Posté le 17-12-2008 à 14:19:11    

Mais bien sûr!  
 
Quelle erreur idiote !
 
J'ai l'outil firebug de FireFox mais le soucis c'est que à mon boulot, il m'est impossible d'installer FireFox, donc du coup, je n'ai pas accés à l'outil!
 
Mais merci mille fois pour ton aide Fred82 !
 
j'ai effectuer la correction et ça marche nikel !
 
merci encore !!!

Reply

Marsh Posté le 17-12-2008 à 20:18:55    

dis moi ce bout de code c'est pour ton boulot ?
ou pas ?
 
et puis c'est quoi cette connerie d'interdiction d'installer firefox :(
récupère portable Firefox que tu colles sur ta clé USB et le pb est réglé :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed