Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    241

    Passare una array PHP ad una funzione JS

    Non so come far passare un array come parametro ad una funzione javascript... ma č possibile?

    codice:
    <html>
      <head>
        <script type="text/javascript">
          <!--
          function VisualizzaMesi(opzioni) {
            var opzione;
            for (var i = 0; i < opzioni.length; i++) {
              opzione = opzioni[i];
              document.write(opzione+"\n");
            }
          }
          //-->
        </script>
        <?
        $mesi = array("gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre");
        ?>
      </head>
      <body onload="VisualizzaMesi('<?echo $mesi;?>');">
      </body>
    </html>

  2. #2
    Devi trasformare l'array php in un array javascript. Non puoi passarlo "cosė". Sono due linguaggi diversi.
    Per trasformare un array semplice (non associativo e senza caratteri strani nei valori) basta una cosa del genere:

    Codice PHP:
    $mesi = array("gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre");

    function 
    quot($elem){return '"'.$elem.'"';}
    $mesi_js='['.implode(',',array_map('quot',$mesi)).'];';
    //echo 'var mesi='.$mesi_js; 
    poi nel codice html fai cosė:
    Codice PHP:

    <html>
      <head>
        <script type="text/javascript">
          <!--
    <?php echo 'var mesi='.$mesi_js?>

          function VisualizzaMesi() {
            for (var i=0,c=mesi.length; i<c; i++) {
              //opzione = mesi[i];
              document.write(mesi[i]+"\n");
            }
          }
          //-->
        </script>
         </head>
      <body onload="VisualizzaMesi();">
      </body>
    </html>
    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  3. #3
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    oppure puoi usare json che č comodissimo.

    ciao

  4. #4
    Giusto. Perō con php 5.
    (anche se a me le funzioni json han dato noie e quindi personalmente non le uso).
    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  5. #5
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    io lo uso con php4, avevo scaricato il file php prima che diventasse un'estensione pear e va egregiamente...

    non so se si trova ancora come file indipendente, se serve ve lo passo...

    Ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    241
    grazie mille AnĒkin, funziona benissimo; ho risolto anch'io cosė:

    codice:
          function DaPhpAJs() {
            var opzioni = new Array();
            <?for ($i=0; $i<count($mesi); $i++) {?>
            opzioni[<?= $i;?>] = "<?= $mesi[$i];?>";
            <?}?>
            return opzioni;
          }
    ho avuto problemi finchč non ho messo la A maiuscola in new Array...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.