Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    array da php a javascript e lettura

    Ecco il codice PHP:

    <?php
    $lavoro[0]="lavoro1";
    $lavoro[1]="lavoro2";
    $lavoro[2]="lavoro3";
    for ($k=0;$k<$i;$k++)
    echo"<a href=\"javascript:cambia('$lavoro');\">prova</a>
    ";
    ?>

  2. #2
    questo è lo script

    function cambia(lavori) {
    val=lavori[0].value;
    document.getElementById("tipo").value = val;
    }

    Mi restituisce UNDEFINED

    Dove sbaglio ?

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    volevi fare forse

    function cambia(lavoro) {
    document.getElementById("tipo").value = lavoro;
    }

    ?
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #4
    Quello che voglio è che l'array che passo da php a script ( il passaggio è corretto ? ) venga acquisito e in output lo script passi il valore del primo elemento dell'array.
    Come mi avevi suggerito tu non funziona e non penso che è quello che cerco. Cmq grazie e se hai altri consigli...

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Non hai le idee molto chiare: questo codice

    <?php
    $lavoro[0]="lavoro1";
    $lavoro[1]="lavoro2";
    $lavoro[2]="lavoro3";
    for ($k=0;$k<$i;$k++)
    echo"<a href=\"java-script:cambia('$lavoro');\">prova</a>
    ";
    ?>

    non riporta l'array (edit: poi non capisco a che serve includere nel ciclo for visto che non usi mai l'indice di iterazione)

    quindi la funzione cambia non si sta aspettando un array ma una stringa
    se vuoi passare un array php in javascript devi generarlo in qualche modo ad esempio così


    <?php
    $lavoro[0]="lavoro1";
    $lavoro[1]="lavoro2";
    $lavoro[2]="lavoro3";
    echo "<script type='text/javascript'>\n";
    echo "var lavori = new Array()\n";
    for ($k=0;$k<$i;$k++) {
    echo "lavori[$k] = '$lavoro[$k]';\n";
    }
    echo "</script>\n";

    ?>

    a quel punto l'array viene generato anche in javascript... per il resto non capisco cosa deve fare la funzione cambia, che parametri vorresti ricevesse e cosa dovrebbe dare in output.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  6. #6
    Il ciclo for non fa niente al momento ma esiste perchè poi mi servira per leggere i dati dentro 1 altro array. Non ci far caso se il codice semanticamente non è molto chiaro. il problema che non riesco a risolvere è quello del passaggio dell'array e del suo utilizzo.
    Adesso provo il tuo codice e vediamo.

  7. #7
    Non funziona.
    Mi fai un esempio di passaggio di un array da php a javascript ( quindi passi l'array come parametro di una chiamata ad una funzione ) e un esempio di lettura dei valori dell'array dentro una funzione javascript ?

    Io penso che la chiamata sia

    nomefunzione('nomearray')

    mentre nella funzione per leggere i valori dell'array devo usare

    nomearray[0].value
    nomearray[1].value

    ecc ecc.

    Invece ottengo undefined. Dove sbaglio?

  8. #8
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    ti faccio un esempio

    codice:
    <?php
    $lavoro[0]="lavoro1";
    $lavoro[1]="lavoro2";
    $lavoro[2]="lavoro3";
    echo "<script type='text/javascript'>\n";
    echo "var lavori = new Array();\n";
    for ($k=0;$k<$i;$k++) {
    echo "lavori[$k] = '$lavoro[$k]';\n";
    }
    echo "</script>\n";
    
    
    Array lavori
    <script type='text/javascript'>
    function scriviLavori(tuoarray) {
      for (i=0; i<tuoarray.length; i++) 
        document.write(tuoarray[i] + "
    ");
    }
    
    scriviLavori(lavori);
    </script>
    Se non funziona o se ci sono problemi posta il codice generato che riceve il browser e non il sorgente php.

    Ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  9. #9
    Tutto OK.
    Grazie 1000

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.