|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Dec 2001
Messaggi: 217
|
passaggio variabili php con javascript
<?
$var=file('2004.txt'); $riga=0; for($i=0;$i<count($var);$i=$i+3) { ... $riga++; ?> <form> <TR class="t2"> <TD width=8%> <select name="codice" size="1" multiple class="form" onContextMenu="modifica(this,<? echo '.$riga.' ?>);"> <option value=""><? echo $var[$i][0]; ?></option> </select> </TD> poi in modifica(sender,prova) ho messo alert(prova); ma non mi prende il valore!! non mi fa vedere nessun valore come la devo passare la variabile? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2001
Città: Piemonte
Messaggi: 1891
|
hai provato a debuggare?
se stampi i valori dell'array senza la select cosa vedi a video? perchè la select non comprende un ciclo for php? |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Dec 2001
Messaggi: 217
|
mm spiegami cosa devo fare...
ho provato ad esempio a mettere $riga al posto di $var[$i..] e mi visualizza il valore senza problemi... il problema è solo nel passaggio della variabile $riga.. il resto funziona tutto bene come devo debuggare? non riesco a capire come devo scrivere $riga quando richiamo la funzione javascript |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2001
Città: Piemonte
Messaggi: 1891
|
Codice:
<select name="codice" size="1" multiple class="form" onContextMenu="modifica(this,<? echo '.$riga.' ?>);"> <option value=""><? echo $var[$i][0]; ?></option> </select> inizia a visualizzare il codice html della pagina generata e verificare se è giusto.. |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Dec 2001
Messaggi: 217
|
Si praticamente se faccio:
<? $var=file('2004.txt'); $riga=0; for($i=0;$i<count($var);$i=$i+3) { ... $riga++; ?> <form> <TR class="t2"> <TD width=8%> <select name="codice" size="1" multiple class="form" onContextMenu="modifica(this);"> <option value=""><? echo $riga; ?></option> </select> </TD> mi viene visualizzato il valore di $riga... se invece aggiungo alla chiamata modifica() modifica(this,<? echo '.$riga.' ?>) la funzione in jscript poi non mi prende il valore di $riga è qst il problema che non riesco a risolvere... probabilmente passo male la variabile ma non riesco |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2001
Città: Piemonte
Messaggi: 1891
|
non dovresti scrivere
modifica(this,'<?=$riga?>') ? |
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Dec 2001
Messaggi: 217
|
ho provato... ma continua a darmi valore non definito
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Dec 2001
Messaggi: 217
|
ho provato uno script ke ho trovat sul web:
<? echo "<script>"; echo "alert(\"$riga\");"; echo "</script>"; ?> e quindi il mio codice è diventato: <? $var=file('2004.txt'); $riga=0; for($i=0;$i<count($var);$i=$i+3) { ... $riga++; ?> <form> <TR class="t2"> <TD width=8%> <select name="acquisto" class="form" onContextMenu="modifica(this);"> <? echo "<script>"; echo "alert(\"$riga\");"; echo "</script>"; ?> e funziona!! mi fa vedere la finestra con il valore di $riga.. ma io riga vorrei passarlo in modifica(this,$riga).. ho provato e riprovato prendendo spunto da quel codice ma niente da fare
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jun 2001
Città: Piemonte
Messaggi: 1891
|
si ma non puoi scrivere modifica(this,$riga).. perchè $riga nn è una var. javascript....
ti sto dicendo di visualizzare il codice html risultante per rendertene conto, fallo e stampalo qui.. devi mettere almeno un apice caspita, $riga che tipo di dati contiene? |
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Dec 2001
Messaggi: 217
|
si hai ragione.. era solo per far capire
ma aimè ho trovato l'errore.. modifica è una funzione che a seconda di una scelta fatta dall'utente, richiama un'altra funzione, ed era lì che mi ero dimenticato di passare il valore.. ora non riesco a fare un controllo sulla variabile this, che passo con modifica: <select name="acquisto" class="form" onContextMenu="modifica(this,'<?=$i/3?>');"> praticamente this la passo a modifica(sender,riga) e sender lo uso ad esempio in: sender.options[sender.options.length-1].text per avere il valore di una option.. ma vorrei mettere un controllo sullavariabile sender, cioè ke se contiene una determinata parola, fa una cosa, altrimenti un'altra... ma quando vado a visualizzare sender, alert(sender); per vedere quale valore gli viene attribuito, mi da [object], così non capisco cosa contenga.. |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jun 2001
Città: Piemonte
Messaggi: 1891
|
ovvio, sender è nel tuo caso l'oggetto select, devi individuare i valori tramite selectedindex, è meglio che ti chiarisci le idee sulle specifiche javascript degli oggetti form, fai prima..
|
|
|
|
|
|
#12 |
|
Member
Iscritto dal: Dec 2001
Messaggi: 217
|
mmm bè ho provato così..
sender.options[sender.selectedIndex].text e mi da il valore della option selezionata, ma io ho bisogno di avere il nome della select ho trovato in rete anche sender.options[sender.selectedIndex].label ma mi da valore nullo..
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Jun 2001
Città: Piemonte
Messaggi: 1891
|
cosa intendi per "io ho bisogno di avere il nome della select " ?
|
|
|
|
|
|
#14 |
|
Member
Iscritto dal: Dec 2001
Messaggi: 217
|
nel senso, io con onContextMenu="modifica(this)" passo il riferimento alla select su cui clicco con il dx, mi servirebbe il nome della select, perchè ho:
<TD width=40%> <select name="prova1" onContextMenu="modifica(this)"> <option value="">.......</option> </select> </TD> <TD width=40%> <select name="prova2" onContextMenu="modifica(this)"> <option value="">.......</option> </select> </TD> quindi in avrei bisogno di ricavare da "this" il nome prova1 o prova2 |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Jun 2001
Città: Piemonte
Messaggi: 1891
|
nn e' chiaro cosa fai in modifica, nn riesci a farlo usando this? cmq dovrebbe esserci una proprietà di this che ti da il nome, forse this.name ? nn sono sicuro..
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:13.


















