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>
";
?>
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>
";
?>
questo è lo script
function cambia(lavori) {
val=lavori[0].value;
document.getElementById("tipo").value = val;
}
Mi restituisce UNDEFINED
Dove sbaglio ?
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)
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...
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)
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.
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?
ti faccio un esempio
Se non funziona o se ci sono problemi posta il codice generato che riceve il browser e non il sorgente php.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>
Ciao
![]()
Vuoi aiutare la riforestazione responsabile?
Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)
Tutto OK.
Grazie 1000