Newsgroup: it.comp.lang.javascript
Titolo: Un aiuto sui Cookies

Un saluto a tutti,
dopo una scorpacciata di "biscotti" sono all'indigestione.
Sono totalmente in panne su una cosa:
come vedete nel istruzione HTML sotto riportata, al variare dello stato 
di un RADIO faccio scrivere in un Cookie i valori di alcuni campi prescelti.
<INPUT name=\"Aggiungi'+[i]+'\" type=\"radio\" disabled 
onchange=\"javascript: if (Modulo.Aggiungi'+[i]+'.checked == true){var 
cookie = \'case=\' + escape(articoli[',i,'].cod + \'--\'+ 
articoli[',i,'].prz + \'--\'+ Modulo.qta'+[i]+'.value + \'--\'+ 
Modulo.totale'+[i]+'.value); document.cookie = cookie;}\">
Come avrete capito, questa è una istruzione ciclata in un FOR, per cui 
mi trovo di fronte ad N campi Aggiungi[i] che possono essere selezionati 
contemporaneamente.
Il problema è che nel Cookie vengono scritti solo i dati relativi 
all'ultimo Aggiungi[i] selezionato.
Come devo fare per ovviare a questo errore ?
Grazie sin d'ora a chiunque vorrà aiutarmi.
	wolfenstein

 di un RADIO faccio scrivere in un Cookie i valori di alcuni campi prescelti.
[CUT]
al posto di case= devi assegnargli un nome diverso per ogni valore.
Vedo che non stai settando la scadenza del cookie, è corretto che ti
scompaiano ogni volta che si abbandona il sito?
Sai che ci sono dei limiti per i cookie, vero?
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.
--

 Sai che ci sono dei limiti per i cookie, vero?
Si.
4K mi sembra se non sbaglio.
Per me č un valore piů che sufficiente.
Tanti saluti.
	wolfenstein

 Io utilizzo un Cookie globale per tutta la pagina.
Sě, ma se crei il cookie case=pippo; e poi dopo case=pluto sovrascrivi il
cookie case...se invece crei cookie case1=pippo e poi case2=pluto li
conservi entrambi


 conservi entrambi
Dunque, se ho ben capito, non posso "aggiungere" dati ad un Cookie 
esistente ?
Nel mio caso quindi, dato che il ciclo FOR mi genera "i" elementi RADIO 
"Aggiungi'+[i]+'" (che ipoteticamente possono essere selezionati anche 
tutti contemporaneamente), dovrei creare "n" Cookies (dove n=numero dei 
RADIO Aggiungi'+[i]+' selezionati) ?
A me basterebbe una sorta di "APPEND" per incollare alla prima stringa 
del primo RADIO selezionato la stringa del secondo, del terzo e via dicendo.
Se č possibile fare una cosa del genere sono a posto, altrimenti viene 
fuori un pateracchio.
Dimmi se ho capito (come spero) male.
Tanti saluti.
	wolfenstein

 Dimmi se ho capito (come spero) male.
Hai capito bene...
se vuoi un valore solo devi leggerti ogni volta il cookie (se sei sempre
nella stessa pagina potresti tenerti una variabile globale) e accodare il
nuovo valore alla stringa prima di riscriverlo (non esiste, temo, un
document.cookie+=...)
Del resto se fai
var a="1"; a="2"; a="3"; a="4"; quanto vale a ? Stai facendo la stessa cosa
(cookie case="a"; case="b"; case="c"....quanto vale alla fine il cookie con
name="case" ?)
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.
--

 name="case" ?)
Ricevuto.
Tenterò la via della variabile globale da scrivere poi in un Cookie.
Speriamo bene.
Grazie e tanti saluti.
	wolfenstein

 document.cookie+=...)
La variabile globale funziona perfettamente !!!
Adesso ho il Cookie con tutti i valori selezionati.
Ho usato la seguente istruzione:
prova = prova + [',i,'] + \'--\'+ (articoli[',i,'].cod + \'--\'+ 
articoli[',i,'].prz + \'--\'+ Modulo.qta'+[i]+'.value + \'--\'+ 
Modulo.totale'+[i]+'.value + \'//\'
Non sono riuscito però a fare due cose:
1) vorrei andare a capo alla fine di ogni riga per ottenere un cookies tipo:
5--CAS802B--40.00--3--120
2--CAS48C--24.00--2--48
invece di:
5--CAS802B--40.00--3--120//2--CAS48C--24.00--2--48//
2) vorrei sapere come si fa a far scrivere il nome dell'host, es. 
www.pippo.it
.
Mi sai dire come devo fare ?
Tanti saluti ed il solito GRAZIE.
	wolfenstein

 
www.pippo.it
.
prova a vedere document.location.host (oppure hostname)
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.
--

 prova a vedere document.location.host (oppure hostname)
Ci provo subito.
Il solito grazie.
	wolfenstein

 a capo                       ^^^^^^
Esatto, al posto dei 2 // aggiungi un +String.fromCharCode(13); //se non
ottieni l'effetto che desideri aggiungi anche un 10: (10,13)
