Newsgroup: it.comp.lang.javascript
Titolo: chiamata funzione dentro a ciclo for

Ciao Ng,
sto cercando di far funzionare una chiamata di funzione 
dentro ad un ciclo for a sua volta dentro ad un'altra 
funzione.. pasto un po' di codice per spiegare meglio il 
concetto:
function costruisci_carrello(NOMI_ARTICOLI, NUMERO_ARTICOLI)
{
test(); // qui la funzione di prova test funziona
document.write('<form>');
for (articolo=1; articolo<=NUMERO_ARTICOLI; articolo++)
{
test(); // e qui invece non funziona più, ma se la tolgo il 
// ciclo procede e funziona correttamente (o almeno sembra)
document.write('numero articoli = 
'+NUMERO_ARTICOLI+'<BR><BR>'); // debug
document.write('articolo '+articolo+':<BR>'); // debug
document.write(NOMI_ARTICOLI[articolo]+'<BR>'); // debug
...
grazie a tutti coloro che ci daranno un'occhiata :)
ciao
massi

 // ciclo procede e funziona correttamente (o almeno sembra)
Impossibile.
In generale non ci sono problemi ad eseguire function dentro un for; nel
tuo caso penso sia indispensabile sapere cosa fa questa test()
-- 
"e mai che mi sia venuto in mente
 di essere piů ubriaco di voi
 di essere molto piů ubriaco di voi"
									  F.D.A.

 
test() è una prova che ho fatto ed è questa:
function test()
{ document.write('test');
}
mi serviva per capire se la mia funzione non funzionava 
all'interno del ciclo solo perchè era una funzione.
Forse è meglio se pasto un'area un po' più vasta della 
funzione costruisci_carrello.. qui (oltre a test che ho 
messo per prova) la funzione che dice che non è dichiarata è 
getCookie, pur essendo nello stesso file.js insieme a 
costruisci_carrello. E getCookie funziona benissimo 
richiamata da altre funzioni sempre presenti nello stesso 
file.. Strana cosa.. io penso ci sia un errore da qualche 
parte nella struttura del mio ciclo for, ma non la trovo.
ps: ho tolto i commenti per questioni di spazio..
function costruisci_carrello(NOMI_ARTICOLI, NUMERO_ARTICOLI)
{
test(); // debug qui funzia
document.write('<form>');
for (articolo=1; articolo<=NUMERO_ARTICOLI; articolo++)
{
test(); // debug qui non funzia
document.write('numero articoli = 
'+NUMERO_ARTICOLI+'<BR><BR>'); // debug
document.write('articolo '+articolo+':<BR>'); // debug
document.write(NOMI_ARTICOLI[articolo]+'<BR>'); // debug
ora_esamino=(getCookie(NOMI_ARTICOLI[articolo]));
if (ora_esamino!=null){
document.write(NOMI_ARTICOLI[articolo]+' ');
document.write('<INPUT TYPE=TEXT NAME="number" 
VALUE="'+ora_esamino+'" MAXLENGTH=2 SIZE=2>');
document.write('^MODIFICA^');
document.write('<a href="#" 
onClick="rimuovi_articolo('+NOMI_ARTICOLI[articolo]+')">');
document.write('Rimuovi '+NOMI_ARTICOLI[articolo]+' dal 
carrello</a><br>');
}
}
document.write('</form>');
}
grazie
massi

 
Domanda stupida (mai provato): quando esegui questo document.write? Perché
se lo esegui a pagina già caricata vai a sovrascrivere tutto...ripeto: io
non uso mai document.write e potrei dire una cosa non vera, ma secondo me
al primo passaggio sovrascrivi il tutto, poi da lì succede immagino il
delirio...
Prova a rifare le tue prove senza il document.write.
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

 
In effetti, lo caricavo con onload, ma poi quando mi hai 
fatto capire che era lui che cancellava tutto, l'ho messo in 
un <script..> </script> e ora funziona alla perfezione! :p
Grazie mille! :)