Newsgroup: it.comp.lang.javascript
Titolo: [lungo] Persistenza valori form al refresh pagina

Buongiorno a tutti,
vorrei le vostre opinioni / suggerimenti sul problema:
form con una ventina di elementi (text, checkbox singole e
"associate", liste multiple), privo di action (il "post" viene
effettuato con una HttpRequest);
il form è in risultato di una HttpRequest il cui risultato è
visualizzato in una divisione originalmente vuota;
periodicamente la pagina effettua un refresh.
a) come mantenere visibile il form quando avviene il refresh?
attualmente, bufferizzo nella sessione il form prima di restituirlo al
client e, se presente, lo inserisco direttamente nell'output della
pagina (che però in questo modo differisce dall'originale). La
soluzione (benché orrenda) per ora è soddisfacente, ma se avete
suggerimenti anche per questo...
b) come mantenere eventuali modifiche effettuate dall'utente?
avrei come ipotesi:
1) tracciare gli onchange (o non so che altro) degli elementi che
contribuiscono al "valore" finale del form
2) inviare al server le variazioni rilevate in modo che siano
bufferizzate
3) al refresh della pagina invocare (nell'onloaded) una funzione che
ripristini l'ultimo stato del form
Vi sembra un approccio sensato? Avete link / riferimenti su come si
possa implementare qualcosa di simile senza reinventare la ruota (che
verrebbe sicuramente triangolare)?
Nel caso sia rilevante, sul server gira php.
Grazie in anticipo &
Saluti
Paolo Arosio

 periodicamente la pagina effettua un refresh.
e far fare un refresh solo ad un elemento IFRAME della pagina che 
contiene il form ?
l'ho sperimentato con successo un paio di volte.
saluti

 l'ho sperimentato con successo un paio di volte.
Sono un neofita, e non avevo preso in considerazione la possibilità di
usare i frame (che peraltro mi sarebbero stati utili in altre zone,
per quel che ho sbirciato or ora).
Il fatto è che uso il refresh della pagina per forzare la chiusura di
una sessione lasciata aperta dall'utente E dargli un feedback sul
fatto che l'ha lasciata scadere:
MaxSessionTime = 120; <meta http-equiv="refresh" content="125">;
momento inizio aggiornato ad ogni operazione dell'utente. Se nessuna
operazione negli ultimi 2 minuti, il refresh successivo chiude la
pagina, sblocca alcune risorse, ecc ecc. Soprattutto, il form che
aveva aperto l'utente non deve più essere disponibile.
Ma forse non avendo alcuna dimestichezza con i frame non ho capito
cosa intendessi...
Saluti
Paolo Arosio

 b) come mantenere eventuali modifiche effettuate dall'utente?
A mio avviso il modo migliore è salvare le modifiche in uno o più
cookie, in genere è sempre meglio evitare di inviare al server dati
che non servono all'elaborazione, inoltre se invii al server devi
anche riconoscere in modo univoco l'utente.
Puoi modificare i cookie anche ogni volta che un tasto viene premuto.

 Paolo Arosio

 con ovvie conseguenze del caso
Una lettura consigliata su questo?
Grazie per il suggerimento dei cookie, non ci avevo minimamente
pensato (pedditte, credevo che js non potesse avere alcun accesso al
file system del client).
Saluti
Paolo Arosio

 Paolo Arosio

 setInterval()
Ottime anche queste, grazie.
Saluti
Paolo Arosio