Newsgroup: it.comp.lang.javascript
Titolo: Cookies creati con ASP

Ho realizzato un sito con alcuni cookies "a due valori", ossia con
"chiave" e "sottochiave" (non saprei come definirli diversamente).
Ho utilizzato questo codice ASP per registrarli :
  Response.Cookies("Mammals")("Elephant") = "African"
  Response.Cookies("Mammals")("Dolphin") = "Bottlenosed"
e un simile codice ASP per leggerli.
 
Adesso ho l'urgente necessità di leggerli utilizzando però Javascript e
non so come fare, visto che i numerosisssssssimi esempi trovati in rete
prevedono per i cookies il solo "nome".
Qualcuno puo' aiutarmi ?
Grazie anticipatamente.
UBt
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Qualcuno puo' aiutarmi ?
Non ho mai usato i cookies con JavaScript, cmq se la pagina in cui ti 
servono i valori la generi comunque con le ASP, allora puoi sempre 
leggerli lato server e scriverne il valore in una variabile JavaScript:
<script>
var mammal="<%= response.cookies(" ... ") %>";
</scirpt>
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
 ----> itALY = it <----

 Qualcuno puo' aiutarmi ?
puoi leggerli tranquillamente con javascript.
quando usi dei cookie come quelli che hai presentato tu, in realtà viene salvato
un solo cookie avene valore una stringa con nome e valore come in un URL
in pratica, con quei due response, tu hai settato nel cookie un solo valore di
questo tipo:
Mammals
Elephant=Africa&Dolphin=Bottlenosed
quindi tu poi recuperare il cookie Mammal che ti riporta la stringa che poi devi
'splittare' per recuperare i valori divisi.
--
visuddhi { info(at)
visuddhi.com
 }
if it is to be, it is up to me { 
www.visuddhi.com
 }
{ icq# 44339752 }

 Elephant=Africa&Dolphin=Bottlenosed

Ringrazio Riccardo e, in particolar modo, "visuddhi" che mi ha chiarito la
struttura dei cookies.
In realtà non ho ancora risolto nulla dato che (mi sono sbagliato: chiedo
scusa) deve SCRIVERE e non leggere il cookie.
A questo punto non faccio questioni di linguaggio (Javascript, VBScript,
ASP) e riassumo quanto dovrei fare:
1) Leggere il valore di un oggetto select (il combo box di VB) (lo so fare
in Javascript e VBScript)
   Javascript   var scelta=cbo.options[cbo.selectedIndex].value;
   VBScript     Scelta=cbo.value
2) Registrare questo valore in un cookie con chiave e sottochiave (lo so
fare solo in ASP)
      Response.cookies("Chiave").Expires=Date()+2000  
      Response.Cookies("Chiave")("Sottochiave")=Cstr(V)
3) Aggiornare un altro frame (lo so fare solo in Javascript) diverso da
quello in cui c'è l'oggetto select.
      top[2].location='NomeFile.asp'
Ripeto: non faccio questioni di linguaggio ma non so come realizzare le
tre cose contemporaneamente nello stesso linguaggio e non oso avventurarmi
in un mix di linguaggi.
Ringrazio quanti vorranno aiutarmi.


 </scirpt>
Ringrazio Riccardo e, in particolar modo, "visuddhi" che mi ha chiarito la
struttura dei cookies.
In realtà non ho ancora risolto nulla dato che (mi sono sbagliato: chiedo
scusa) deve SCRIVERE e non leggere il cookie.
A questo punto non faccio questioni di linguaggio (Javascript, VBScript,
ASP) e riassumo quanto dovrei fare:
1) Leggere il valore di un oggetto select (il combo box di VB) (lo so fare
in Javascript e VBScript)
   Javascript   var scelta=cbo.options[cbo.selectedIndex].value;
   VBScript     Scelta=cbo.value
2) Registrare questo valore in un cookie con chiave e sottochiave (lo so
fare solo in ASP)
      Response.cookies("Chiave").Expires=Date()+2000  
      Response.Cookies("Chiave")("Sottochiave")=Cstr(V)
3) Aggiornare un altro frame (lo so fare solo in Javascript) diverso da
quello in cui c'è l'oggetto select.
      top[2].location='NomeFile.asp'
Ripeto: non faccio questioni di linguaggio ma non so come realizzare le
tre cose contemporaneamente nello stesso linguaggio e non oso avventurarmi
in un mix di linguaggi.
Ringrazio quanti vorranno aiutarmi.


 scusa) deve SCRIVERE e non leggere il cookie.
[cut]
<script type="text/javascript">
function setCookie(NameOfCookie, value) {
document.cookie = NameOfCookie + "=" + escape(value); }
</script>
<a
href="javascript:setCookie('Mammals','Elephant=Africa&Dolphin=Bottlenosed')">set
ta cookie</a>
equivale a
<%
Response.Cookies("Mammals")("Elephant") = "African"
Response.Cookies("Mammals")("Dolphin") = "Bottlenosed"
%>


Chiedo ancora il tuo aiuto, se sarai cosě paziente da fornirmelo.
Questo č il mio codice.
<script language="JavaScript">
function Leg() {
    var scelta=cbo.options[cbo.selectedIndex].value;           OK
    alert ("Hai scelto " + scelta);                            OK
    setCookie('AlpVir',"Tempo=g"+scelta);                    BOH ?
    top[2].location='Consulta.asp';                          OK
 }
 
   function setCookie (name, value) {
   document.cookie=name + "=" + escape(value);
}
</script>
  <select name="cbo" onChange="Javascript:Leg()">
    <option value=1 <% if Tempo="g1" then response.write "Selected"
%>>oggi</option>
    <option value=8 <% if Tempo="g8" then response.write "Selected" %>>8
giorni</option>
    <option value=15 <% if Tempo="g15" then response.write "Selected"
%>>15 giorni</option>
  </select>
Questo č il mio cookie (singolare:cookie) come mi hai indicato giustamente
tu; Tempo č la quarta sottochiave e puň anche non essere la quarta e
l'ultima.
nome=Ugo&username=ubt&NumZone=3&Tempo=g15 
I valori di "Tempo" possono essere solo g1,g8,g15.
Il non funzionamento nasce dal fatto che, secondo me, dovrei passare alla
funzione setCookie (parametro value) TUTTO il cookie con le sue 4
sottochiavi e non il solo singolo valore di "Tempo".
Puoi ancora gentilmente fornirmi qualche delucidazione ?
Grazie ancora
Ugo


 Puoi ancora gentilmente fornirmi qualche delucidazione ?
esatto, devi passargli tutto il cookie completo se hai altri valori.
prima devi leggere il cookie
inserisci in un array le coppie nome=valore
modifichi nell'array il valore di nome Tempo
ricostruisci la stringa e la passi al cookie riscrivendolo
