Partage
  • Partager sur Facebook
  • Partager sur Twitter

je génère un tableau js, le premier élément est une virgule

    13 mars 2009 à 19:14:34

    Bonjour tout le monde,

    Je crée deux tableaux (array) js :
    for(i;i<=7;i++)
    	{
    nouveau_array_de_cotes_th[i] = document.getElementById('zone_de_Texte_Cote_TH_'+i).value;
    		
    	}
    


    et

    for(i;i<=8;i++)
    	{
    		
    nouveau_array_de_cotes_tp[i] = document.getElementById('zone_de_Texte_Cote_TP_'+i).value;
    	}
    


    document.getElementById('zone_de_Texte_Cote_TH_'+i).value;
    


    provient d'un array que je crée en PHP.

    Le résultat final me donne une virgule en trop comme premier caractère 8O:

    Citation : alerte javascript

    ,12,14,12,0,0,0,0



    Sauriez-vous me dire comment je peux faire pour retirer cette virgule avant de l'envoyer dans une autre fonction ?

    Merci d'avance.

    beegees
    • Partager sur Facebook
    • Partager sur Twitter
      13 mars 2009 à 19:16:24

      On peut avoir plus de code ?
      (PS : met for(i=0;...) sinon i garde son ancienne valeur)
      • Partager sur Facebook
      • Partager sur Twitter
        13 mars 2009 à 19:25:25

        Citation : Timot

        On peut avoir plus de code ?
        (PS : met for(i=0;...) sinon i garde son ancienne valeur)



        Salut,

        Merci pour ta réponse.

        voici le code de la création du tableau :

        <?php
        $cotes_TH = array(); //tableau PHP
        ?>
        <br /> 
        <table border="0" width="50%" id="tableau_cotes_th">
        <th>Cours TH</th>
        <th>Note TH</th>
        <th>Status TH</th>
         
        <?php
        //cours théorique 
        $compteur = 0;
        $i = 0;
        while($les_cotes_th = mysql_fetch_array($req_les_donnees_Th))
        {
        ['MATRICULE_ET'].'\',\''.$les_cotes_th['MNEMONIC'].'\',\'TH\')";
        $compteur++;
        		echo '	<tr>
        					<td style="font-size:20px" width="15%" align="center">'.$les_cotes_th['MNEMONIC'].'</td>
        					<td id="Cote_TH_'.$compteur.'" style="font-size:20px" width="5%" align="center"><input type="text" id="zone_de_Texte_Cote_TH_'.$compteur.'" style="text-align:center" 
        					//je passe le matricule de l\'étudiant a la fonction JS (AJAX)
        					onchange="Del_mise_a_jour_BD(\''.$ar_etudiants[$rang]['MATRICULE_ET'].'\',\''.$les_cotes_th['MNEMONIC'].'\',\'TH\',this.value)";
        					Del_mise_a_jour_BD(document.getElementById(\'Del_matricule_et\').value);" value='.$les_cotes_th['NOTE'].'></td>';
        					
        					$cotes_TH[$i] = $les_cotes_th["NOTE"];//je remplis le tableau
        					$i++;//j'incrémente i pour écrire dans la cellule suivante
        					echo '<td style="font-size:20px" width="10%" align="center">'.$les_cotes_th['Report'].'</td>
        					
        				</tr>';	
        }
         
         
         
         
        foreach($cotes_TH as $valeur)
        {
        	echo $valeur;
        }
        				
        ?>
        </table>
        


        voici la fonction qui construit mon tableau js :

        function reconstruire_tableau_cotes_th()
        {
        	//Cette fonciton js va me permettre de recréer le tableau des cotes th lorsqu'un cote a été modifiée afin que la ù th, la ù tp et la ù générale soit à jour.
        	//j'ai mis un id (zone_de_Texte_Cote_TH_) dans le td du tableau afin de récupérer la valeur de la zone de texte.
        	var i=1;
        	var nouveau_array_de_cotes_th = new	Array();
        	var nouveau_array_de_cotes_tp = new	Array();
        	for(i;i<=7;i++)
        	{
        		//alert(document.getElementById('zone_de_Texte_Cote_TH_'+i).value);
        		nouveau_array_de_cotes_th[i] = document.getElementById('zone_de_Texte_Cote_TH_'+i).value;
        		
        	}
        	alert("le nouveau tableau TH " + nouveau_array_de_cotes_th); 
        	i = 1;
        	for(i;i<=8;i++)
        	{
        		//alert(document.getElementById('zone_de_Texte_Cote_TP_'+i).value);
        		nouveau_array_de_cotes_tp[i] = document.getElementById('zone_de_Texte_Cote_TP_'+i).value;
        	}
        	alert("le nouveau tableau TP " + nouveau_array_de_cotes_tp); 
        	
        	calculs(nouveau_array_de_cotes_th,nouveau_array_de_cotes_tp);
        }
        


        J'espère que tu as assez de code.

        beegees
        • Partager sur Facebook
        • Partager sur Twitter
          13 mars 2009 à 19:29:53

          Il y des des fonctions faites pour passer du PHP au js et du js au PHP... mais je sais plus lesquelles (c'est avec une bibliothèque)...
          T'as qu'à espérer que nod_ passe...
          • Partager sur Facebook
          • Partager sur Twitter
            13 mars 2009 à 19:39:26

            Citation : xavierm02

            Il y des des fonctions faites pour passer du PHP au js et du js au PHP... mais je sais plus lesquelles (c'est avec une bibliothèque)...
            T'as qu'à espérer que nod_ passe...



            Pas besoin de bibliothèque, je préfère du code brut, ça permet de mieux apprendre.

            Je pense qu'un simple regex pour retirer la virgule du résultat final serait suffisant.

            Quelqu'un s'y connait en regex javascript ?

            Beegees
            • Partager sur Facebook
            • Partager sur Twitter
              13 mars 2009 à 19:53:11

              Bah si t'as tout le temps la même chose (une virgule en trop), tu peux la virer simplement... en mettant ='' au premier caractère de la chaîne...
              • Partager sur Facebook
              • Partager sur Twitter
                13 mars 2009 à 20:33:01

                C'est tout simplement normal, puisque d'un coté tu numérote a partir de 0, et de l'autre a partir de 1.
                Donc l'indice 0 est vide dans le tableau, c'est pourquoi il t'affiche "*rien*,25,18,..."
                D'ou cette virgule.
                Donc fait comme je t'ai dit : for(i=0;i <...; i++) pour arranger ça.
                • Partager sur Facebook
                • Partager sur Twitter

                je génère un tableau js, le premier élément est une virgule

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown