Partage
  • Partager sur Facebook
  • Partager sur Twitter

je n'arrive pas à joindre ma fonction js

    12 mars 2009 à 10:20:06

    Bonjour tout le monde,

    Cette fonction PHP me permet de transformer un tableau PHP en un tableau javascript (cela peut être utile pour quelqu'un d'autre) :

    <?php
    //IMPORTANT  : php génere un script js
    //transforme un tableau php en un tableau javascript !!!
    //type => soit TH soit TP, je ne dois pas écrire deux fonctions comme cela, il choisit la fonction par rapport au type
    function construisTableauJS($tableauPHP,$type)
    {
       echo $type;
       if(type == "TH")
       {
    	   echo'<script langage="javascript">';
    	   $tab_cotes_TH_js = "tab_cotes_TH_js";
    	   echo $tab_cotes_TH_js." = new Array();";
    	   for($i = 0; $i < count($tableauPHP); $i++)
    	   {
    		  if(!is_array($tableauPHP[$i]))
    		  {
    			echo $tab_cotes_TH_js.'.push("'.$tableauPHP[$i].'");';
    		  }
    	   }
    	   echo'</script>';
         return;
       }
       else
       {
       	   echo $type;
       	   echo'<script langage="javascript">';
    	   $tab_cotes_TP_js = "tab_cotes_TP_js";
    	   echo $tab_cotes_TP_js." = new Array();";
    	   for($i = 0; $i < count($tableauPHP); $i++)
    	   {
    		  if(!is_array($tableauPHP[$i]))
    		  {
    			echo $tab_cotes_TP_js.'.push("'.$tableauPHP[$i].'");';
    		  }
    	   }
    	   echo'</script>';
         return;
       }
    }
    
    ?>
    


    j'appelle donc la fonction comme ceci :

    construisTableauJS($cotes_TH, "TH");
    

    Je lui passe donc "TH" ou "TP" afin qu'il sache ce qu'il doit faire.

    Firebug me donne sans cesse ce message d'erreur :

    Citation : Firebug

    <body bgcolor="#F4FFE4" onload="calculs(tab_cotes_TH_js,tab_cotes_TP_js);">



    Car j'essaie d'envoyer mes tableaux à une fonction javascript que voici :

    function calculs(tableau_cotes_th,tableau_cotes_tp)
    {
    	alert("ici");
    	alert(tableau_cotes_th,tableau_cotes_tp);	
            ...
    


    L'alerte ne se lance pas (ici), je n'arrive donc pas là.

    Sauriez-vous me dire ce que je peux faire pour résoudre ce problème svp ?

    Un tout grand merci d'avance.

    beegees
    • Partager sur Facebook
    • Partager sur Twitter
      12 mars 2009 à 10:22:48

      hello,
      essaie de remplacer language par type dans ta balise script
      • Partager sur Facebook
      • Partager sur Twitter
        12 mars 2009 à 10:25:44

        Citation : franckysolo

        hello,
        essaie de remplacer language par type dans ta balise script



        Hello,

        C'est fait mais ça ne résout pas mon problème.

        Merci pour ton aide.

        beegees
        • Partager sur Facebook
        • Partager sur Twitter
          12 mars 2009 à 10:27:20

          ok dommage il me semble que l'attribut langage n'est plus valide bon courage moi aussi je galère ;)
          edit:
          <script type="text/javascript"></script>
          
          • Partager sur Facebook
          • Partager sur Twitter
            12 mars 2009 à 11:07:08

            Bonjour,
            Quand tu travailles avec PHP et que tu veux déboguer du javascript regarde le code HTML que t'a retourné PHP.

            Tu remarquera que le résultat de ta fonction PHP est: une assignation en javascript à un tableau nommé tab_cotes_TH_js par des valeurs statiques (pour javascript). Ces valeurs sont défini par le PHP via la variable $tableauPHP.
            En javascript, il ne s'agit pas d'une fonction!

            De même ton code PHP créé la déclaration d'un espace javascript dans lequel il fait des opérations si tu veux utiliser ce code dans un script plus globale, ça ne sert à rien de déclarer <script ...></script> mais ça dépend de ton environnement global.
            • Partager sur Facebook
            • Partager sur Twitter

            je n'arrive pas à joindre ma fonction js

            × 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