Newsgroup: it.comp.lang.javascript
Titolo: dati da una pagina a un'altra, si puo' fare con javascript?

buongiorno a tutti, scusate se la domanda vi pare banale ma l'unico mio 
utilizzo di javascript è stato per ora un banalissimo open.window...
ora invece avrei bisogno di mettere su alcune pagine di un sito che sto 
facendo una stringa nella quale poter scrivere alcuni dati, cliccare su un 
pulsante invia che faccia passare a una seconda pagina, dove ricompaia 
memorizzato questo dato, e  dove il visitatore possa continuare a riempire 
altri campi di questo mio form.
E' possibile farlo con javascript o debbo farlo con un altro linguaggio, 
magari php?
Qualcuno di voi espertissimi potrebbe gentilmente darmi qualche dritta?
Vi ringrazio in anticipo!
alcina
==============================================================
 Posted with Hogwasher. Mac first, Mac only:
 
http://www.asar.com/cgi-bin/product.pl?58/hogwasher.html
 
==============================================================

 magari php?
beh, queste cose si fanno lato server (e' per questo che nascono le form)
php, asp, ma anche le vecchie care cgi scritte in perl (o in c) andrebbero a
fagiuolo
-- 
la dove la sera rivela 
immemore d'inverno 
una tomba di neve

magari php?
Puoi passare i valori che ti occorrono nell'indirizzo della nuova
pagina e recuperarli con una querystring
http://pro.html.it/articoli/id_379/idcat_11/pro.html

 
e io che nella mia ignoranza pensavo che i form si facessero anche solo in 
html...
ok bene tu mi consigli php dunque...
AAARGHHH sarà difficilissimo!
ciao ZeD e grazie!
==============================================================
 Posted with Hogwasher. For a free Test Drive click on: 
 
http://www.asar.com/cgi-bin/product.pl?58/hogwasher.html
 
==============================================================

):

dunque anche con javascript è fattibile, la preferirei come soluzione! 
Vado subito a leggermi l'articolo, non avrei proprio saputo neanche cosa 
cercare, ti ringrazio moltissimo!
ciao Pece,


 la preferirei come soluzione! 
NO, non la preferisci :P
-- 
quando la notte svanisce 
in un bosco di metallo 
concepire d'estate

 magari php?
Come ti hanno già detto, questo genere di cose è *preferibile* farle con
linguaggi server side (php), perché nascono proprio per questo genere di
esigenze.
E' cmq possibile farlo anche in javascript in diversi modi, dipende anche
molto dal tipo di dati che vuoi passare o meno.
Un modo, come ti hanno già indicato, è passare i dati tramite la
querystring (window.location.search).
Il problema di tale approccio, è che la quantità di dati che puoi passare è
limitata, appare nella barra degli indirizzi ed è quindi visibile
all'utente. Se devi inviare pochi dati (es. degli identificativi numerici,
il contenuto di un campo di testo - non area) può anche andar bene.
Questi dati puoi inviarli tramite form impostando l'attributo "method" a
"get" nell'html.
Un'altro metodo è passare i dati tramite cookie di sessione. Il cookie di
sessione scade appena il browser viene chiuso, e ti permette di scambiare
dati tra le pagine del tuo sito senza che essi siano visibili all'utente,
al contrario della querystring. Da questo punto di vista è sicuramente una
scelta migliore.
Inoltre, potresti anche fare un cookie persistente invece che di sessione,
in modo che l'utente anche se lascia il sito mantenga i dati inseriti fino
a quel momento; e una volta tornato possa riprendere dallo "step" che aveva
lasciato in precedenza.
I contro: Ha anch'esso una limitazione in quantità di dati passati, ed in
numero di cookie per dominio. Inoltre, l'utente potrebbe avere i cookie
disabitati, ma questo puoi facilmente verificarlo ed eventualmente
notificare all'utente che per proseguire deve abilitare i cookie per il tuo
sito.
Per finire, puoi scambiare i dati tra pagine usando semplici variabili
javascript, la premessa è che il tuo sito sia composto da frame/finestre
multiple.
Se il tuo sito è composto da frame, basta che tu salvi i dati che ti
interessano nella finestra che contiene i frameset, ovvero quella
identificata, a livello di codice javascript, da "top".
Anche se navigherai nel frame "visibile", le tue variabili javascript non
saranno distrutte perché non si trovano nella finestra dove stai navigando
(e quindi cambiando pagina), bensì nella finestra "principale", che non
viene mai "toccata". Ovviamente se uno fa un refresh totale, o cambia
indirizzo nella barra di indirizzi, le variabili verranno distrutte.
Questo approccio è consigliato se il sito ha già una struttura a frame;
oppure se la compilazione del dati avviene in una finestra di popup aperta
da una finestra principale (che rimarrà aperta finché non si è finito
l'inserimento), perché il meccanismo è il medesimo: salvi i dati dalla
popup alla genitrice tramite "opener".
Il vantaggio di quest'ultimo approccio, è che puoi passare non solo
stringhe, ma veri e propri oggetti. Puoi passare strutture complesse.
Cito un altro paio di approcci: potresti anche evitare di inviare i dati al
server fintanto che non li hai compilati tutti, e semplicemente "simulare"
la navigazione tra pagine. Come succede con i wizard. Se il dato che passi
tra le pagine non ti serve per un elaborazione server, fintanto che non fai
il "submit", ma solo per questioni estetiche/funzionali, puoi benissimo
suddividere i campi in "pagine" (layer/form) che poi rendi
visibili/invisibili tramite pulsanti tuoi di "avanti/indietro"; fino ad
arrivare alla parte finale dove farei un bel submit generale.
..Se non sono stato troppo chiaro in quest'ultimo passaggio, posso farti un
esempio chiarificatore.
L'altro approccio che ho accennato, è XmlHttpRequest: potresti richiedere
le pagine tramite XmlHttpRequest e mostrare poi l'HTML ottenuto, invece di
fare reali richieste tramite browser. In questo modo, di fatto, non cambi
mai pagina e quindi le variabili js non vengono distrutte; anche se le
pagine sul server sono effettivamente in file distinti. Ma tra tutti gli
approcci, questo è quello che ti sconsiglio maggiormente per questioni di
compatibilità di browser e di rapporto "complessità del problema/soluzione
adottata", che può essere tradotto in "utilizzare un carro armato per
schiacciare una formica".
-- 
~ Solo la stupidità umana può dare l'idea dell'infinito.

 
sinceramente a questo punto zero delle mie conoscenze non posso dire cosa 
preferisco e sottoscrivo il tuo :-P
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ciao ZeD, ricordati, anche le divinità è bene applichino a sé stesse il 
saggio monito dell'Oracolo di Delfi, Gnothi Seauton... :-)


certo, ma e' un mezzo schifìo...
Un mezzo schifo? Santi numi ti bandirei a vita da questo gruppo! :)
w javascript e le sue possibilita! lunga vita a javascript!

 Un mezzo schifo? Santi numi ti bandirei a vita da questo gruppo! :)
mi stai dicendo che preferisci javascript ad un controllo server side per
delle form?
-- 
quando un vuoto svanisce 
tremare d'autunno 
un'aurora di metallo

 schiacciare una formica".
questo lo scartei di sicuro anch'io!
ZERO, sei stato gentilissimo! 
ora che ho tutti questi preziosi input vedrò di cavarci fuori qualcosa...
ciao,


 delle form?
Beh, aspetta. Non si stava parlando di "controlli", ovvero nessuno ha mai
parlato di validazione del dato da passare bensì solo di passare un dato (a
quanto pare molto stringato).
Volendo per fare questo basta anche una form con method get, neppure devi
scomodare js. Poi il dato puoi leggerlo sia da server che da client e farci
quel che ti pare.
Non essendoci alcuna interazione col server, dubito anche che ci debba
essere un qualsivoglia tipo di controllo (non è di certo un dato
"sensibile", nè si rischia di avere injection).
Un esempio in cui possa servire passare un dato in get per recuperarlo con
js, potrebbe essere le classiche pagine contenute in frameset che non
dovrebbero aprirsi senza la loro "cornice".


 ora che ho tutti questi preziosi input vedrò di cavarci fuori qualcosa...
De nada
