Newsgroup: it.comp.lang.javascript
Titolo: visualizzare risultati in tabelle con ajax

Salve, vi spiego subito quello che vorrei fare:
inviare i dati di un form tramite ajax, e visualizzare sempre sulla
stessa pagina i risultati della query effettuata con i parametri
inviati del form, creando tante tabelle quanti sono i record ottenuti.
Il mio problema più grande è come impostare il discorso, ossia devo
farmi restituire dalla richiesta ajax le tabelle con i dati, oppure
solo i dati e le tabelle vengono create chissàcome dopo, o cosa?
Vi ringrazio anticipatamente per i suggerimenti che potrete darmi.
Thanks

 solo i dati e le tabelle vengono create chissàcome dopo, o cosa?
vedi te ... se non sono tanti e restituisci tutta la struttura potrai
direttamente scriverla nella pagina con innerHTML, altrimenti dovrai
smazzarti la creazione di ogni tabella con createElement e affini.
-- 
"qualcuno è andato per età
 qualcuno perchè già dottore
 e insegue una maturità, si è sposato, fa carriera
 ed è una morte un po' peggiore"
									    F.G.

 Thanks
Prego.
-- 
~ "Quando ti rifiuti di imparare una lezione in un modo,
ti verrà ripresentata sotto un altro aspetto." (E.Caddy)

 smazzarti la creazione di ogni tabella con createElement e affini.
Forse volevi dire il contrario. :)
-- 
~ "La malinconia è la felicità di esser tristi." (Victor Hugo)

 Forse volevi dire il contrario. :)
perché?
-- 
"Run rabbit run
 dig that hole, forget the sun
 and when at last the work is done
 don't sit down, it's time to dig another one"
									    P.F.

 perché?
Perché se sono tanti, dovrebbe farsi restituire la struttura e aggiungerla
tramite innerHTML; mentre se sono pochi può optare per le API.
Ti rimando al link che ho dato a lui per ulteriore esauriente spiegazione.
:)
-- 
~ Tenete la morte lontano dalle strade. Guidate sul marciapiede.

 tramite innerHTML; mentre se sono pochi può optare per le API.
pensavo più che altro al traffico (table-tr-td sempre ripetuti, se sono
1.000 record ...)
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.

 1.000 record ...)
Con 1.000 record ci mette di più a inserirli nel DOM (che sia tramite DOM
API o innerHTML poco importa) che a recuperarli via HTTP (ovviamente la
differenza dipende dalla connessione e dalla macchina che si ha sotto).
E prova a creare 1.000 "record" in dati tabellari tramite DOM API, e poi
prova a farlo facendoti restituire dal server direttamente il codice di
markup da inserire tramite innerHTML. In entrambi i casi sarà un'operazione
lenta, ma la differenza di tempi tra i due approcci è notevole; tanto da
sopperire tranquillamente ad un eventuale discorso di banda.
-- 
~ "FINARMENTE LI SFRATTATI AVRANNO UN TETTO SULLA TESTA!
...però tirato ammodino, un tegolo pe' vorta.." (Il vernacoliere)

Sono riuscito a risolvere il problema!
Ho preso spunto da un codice che ho trovato in un post
(
http://forum.cached.it/forum/t1741-%5BRISOLTO%5D-Problemi-con-invio-form-ajax.html
)
e praticamente creo le tabelle con relativa formattazione nella pagina
in cui eseguo la query e poi inserisco il tutto dentro un div con:
document.getElementById('casa').innerHTML = xmlHttpReq.responseText
Purtroppo adesso detta così sembra facile e soprattutto ovvia, solo
che io ancora non ho capito bene come  e cosa ottenere di solito dalla
risposta della chiamata in ajax, devo prenderci ancora confidenza.
Adesso cerco di migliorarlo un pochino lo script, casomai avessi ancora
bisogno... :-)
Ringrazio tutti per i validi consigli.
Thanks

 lenta, ma la differenza di tempi tra i due approcci è notevole;
Con "notevole" che cosa intendi? 
Ho allestito un semplice test, che puoi vedere qui:
 
http://proxy.maxim.comm2000.it/~maxim/afton/pub/jstest08.html
Ho preparato una coppia di sorgenti con 1000 record, in formato JSON e in
formato HTML (table), e una coppia con 10000 record (negli stessi formati).
La funzione che usa il secondo formato tramite innerHTML è un po' più veloce
di quella che usa il primo creando le righe via DOM, ma con 1000 record mi
pare impossibile apprezzare la differenza. Con 10000 record la differenza è
appena percepibile. Questo con Firefox 1.5.0.7.
Considerando anche che una singola pagina Web con 1000 record (per non dire
10000) ha ben poco senso, mi pare che i minuscoli vantaggi in termini di
efficienza della soluzione basata su HTML+innerHTML non giustificano la
scarsa flessibilità di questa rispetto all'altra. 
Non ho però provato con IE (che non ho a disposizione).
Max

 Non ho però provato con IE (che non ho a disposizione).
Su IE va subito in errore. :)
-- 
~ Non sono disordinato. Sono solo un massimizzatore di entropia.