Discussione:
passaggio variabili tra asp e javascript
(troppo vecchio per rispondere)
may
2004-01-17 13:02:23 UTC
Permalink
ciao a tutti
vorrei sapere se è possibile passare valori contenuti in un array di asp in
variabili di javascript.
in particolare ho un array con una serie di valori recuperati da un archivio
con asp. ho bisogno di trasferire questi valori in un array di javascript
per la visualizzazione di alcuni dati (ho bisogno di utilizzare javascript
per la visualizzazione)
grazie a tutti per l'attenzione e per la risposta
Cristiano Larghi
2004-01-18 11:47:23 UTC
Permalink
Riscrivi l'array lato client, es.
<%var arr=['a','b','c'];%>
<script language='JavaScript'>
var arr=new Array();
<%for(var x=0;x<arr.length;x++) {%>
arr[arr.length]='<%=arr[x]%>';
<%}%>
</script>
may
2004-01-19 17:35:33 UTC
Permalink
ciao!

Riscrivi l'array lato client, es.
Post by Cristiano Larghi
<%var arr=['a','b','c'];%>
<script language='JavaScript'>
var arr=new Array();
<%for(var x=0;x<arr.length;x++) {%>
arr[arr.length]='<%=arr[x]%>';
<%}%>
</script>
non riesco a far funzionare la procedura ed ho qualche dubbio!
1) <%var arr=['a','b','c'];%> la variabile in asp non si dichiara con dim (o
mi sono perso qlcosa?)?
2) non devo dichiarare un identificatore per evitare l'errore di asp?
3)<%for(var x=0;x<arr.length;x++) {%> anche in questo caso mi restituisce
l'errore "previsto identificatore".
4) l'array in asp si identifica con array() e non arr[x] o mi sbaglio?

ti ringrazio dell'attenzione e della cortesia e ti chiedo se puoi informarmi
se sbaglio qlcosa o se non so qualcosa che mi farebbe capire come funziona
questa procedura!
ciao
Cristiano Larghi
2004-01-19 18:01:33 UTC
Permalink
[CUT]
Post by may
non riesco a far funzionare la procedura ed ho qualche dubbio!
1) <%var arr=['a','b','c'];%> la variabile in asp non si dichiara con dim (o
mi sono perso qlcosa?)?
Uhm....
Post by may
2) non devo dichiarare un identificatore per evitare l'errore di asp?
3)<%for(var x=0;x<arr.length;x++) {%> anche in questo caso mi restituisce
l'errore "previsto identificatore".
Uhmuhmuhmuhm....
Post by may
ti ringrazio dell'attenzione e della cortesia e ti chiedo se puoi informarmi
se sbaglio qlcosa o se non so qualcosa che mi farebbe capire come funziona
questa procedura!
Non stai sbagliando nulla, temo solo tu stia usando vbscript lato
server.........
Aspè, recupero le mie reminescenze basic (sperando di non scrivere
stupidate):
[OT]
1) dim arr(3): arr(1)="a": arr(2)="b": arr(3)="c" 'esisterà un modo per
scriverlo direttamente quando si dichiara l'array? boh, forse sì ma io non
ricordo...
2) dim x
for x=0 to ubound(arr)


next
[/OT]
Ti conviene comunque chiedere nel newsgroup di asp...fosse jscript ancora
ancora passa, ma vbscript....:-)
may
2004-01-20 17:16:52 UTC
Permalink
ci sono riuscito!!
il tuo primo consiglio mi ha dato l'indirizzo, l'idea e io (modestamente)
ho fatto il resto!!
ti mostro il codice:

<script language="JavaScript">

var photos=new Array()
<%for x=1 to (i-1) step 1%>
photos['<%=x%>']='<%=photo(x)%>'
<%next%>

</script>

photo è l'array lato server
i è la variabile inizializzata per costruire l'array lato server;
x è la nuova variabile per caricare l'array principale nell'array lato
client
ciao e grazie
Cristiano Larghi
2004-01-20 17:26:11 UTC
Permalink
Post by may
ci sono riuscito!!
il tuo primo consiglio mi ha dato l'indirizzo, l'idea e io (modestamente)
ho fatto il resto!!
Benissimo!
Il prossimo passo è abbandonare vbscript anche lato server e passare a
JScript... :-)
ZER0
2004-01-20 17:30:29 UTC
Permalink
Post by Cristiano Larghi
Benissimo!
Il prossimo passo è abbandonare vbscript anche lato server e passare a
JScript... :-)
Dillo anche a Riccardo, va'.. l'ultima volta che l'ho sentito ancora
scriveva pagine ASP in VBScript.. Non ti sembra un paradosso, per il
webmaster di jsdir? :P
--
C'ya,
ZER0 :: coder.gfxer.webDesigner();

"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)
Cristiano Larghi
2004-01-20 17:31:16 UTC
Permalink
[OT]
Post by ZER0
Dillo anche a Riccardo, va'.. l'ultima volta che l'ho sentito ancora
scriveva pagine ASP in VBScript.. Non ti sembra un paradosso, per il
webmaster di jsdir? :P
AAAAAAAAAAAAAAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrghhhhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhh

Sì, glielo dico
p.s. ti ho mandato una e-mail di cui volevo sentire il tuo parere...
ZER0
2004-01-20 17:42:37 UTC
Permalink
On Tue, 20 Jan 2004 18:31:16 +0100, Cristiano Larghi wrote:

[OT]
Post by Cristiano Larghi
Post by ZER0
Dillo anche a Riccardo, va'.. l'ultima volta che l'ho sentito ancora
scriveva pagine ASP in VBScript.. Non ti sembra un paradosso, per il
webmaster di jsdir? :P
AAAAAAAAAAAAAAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrghhhhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhh
Eggia'.. E' esattamente la reazione che ebbi io.
Post by Cristiano Larghi
Sì, glielo dico
p.s. ti ho mandato una e-mail di cui volevo sentire il tuo parere...
Letta, letta, ti ho ho anche scritto una risposta poco fa.
--
C'ya,
ZER0 :: coder.gfxer.webDesigner();

"Questa e' una lezione difficile, ma importante: Cio' che e' stato, e cio'
che sara', non cambia cio' che e'.
Sta a te decidere poi come prendere questa cosa,se logorarsi per un passato
che non puoi cambiare, invece di prendere tutto il bene che il presente ti
offre." ()
raenkrus
2004-01-20 23:43:28 UTC
Permalink
"Cristiano Larghi" <***@editaliasrl.it> disse:

[CUT]
Post by Cristiano Larghi
Ti conviene comunque chiedere nel newsgroup di asp...fosse jscript ancora
ancora passa, ma vbscript....:-)
già...poi magari su icwa salta fuori un tipo che gli risponde:

"Ti conviene comunque chiedere nel newsgroup di javascript...fosse
vbscript ancora ancora passa, ma javascript.....:-)"

immaginate?? si creerebbe un loop spiacevole :-)

io ho provato a scrivere sta roba qua:

<script type="JScript">
var x, arr;
arr = new Array(3);
</script>
<%
dim arr2, lungh
arr2 = Array("a","b","c")
lungh = ubound(arr2)

response.write("<script type='JScript'>")

for y = 0 to lungh
response.write("arr["&y&"] = '"& arr2(y)&"';")
next

response.write("</script>")
%>
<script type="JScript">
for (x=0;x<=arr.length;x++) {
document.write("Array("+x+")= "+arr[x]+"<br>");
}
</script>

sebbene non abbia errori, due browser (IE6+sp1 e Mozilla Firebird
0.7.1) non visualizzano il contenuto dell'array arr (quello creato da
jscript). con netscape e opera non ho provato.
il caso è complesso, suggerimenti?

raenkrus
Cristiano Larghi
2004-01-21 09:09:56 UTC
Permalink
[CUT]
Post by raenkrus
<script type="JScript">
var x, arr;
arr = new Array(3);
Non serve dimensionarlo prima: sotto usi ubound, quindi immagino che il
numero di elementi sia variabile => basta un var arr=new Array();
Post by raenkrus
</script>
Questa riga puoi anche toglierla: chiudi e subito dopo riapri...
Post by raenkrus
<%
dim arr2, lungh
arr2 = Array("a","b","c")
lungh = ubound(arr2)
response.write("<script type='JScript'>")
Anche questa puoi toglierla (se togli quella indicata sopra)
Post by raenkrus
for y = 0 to lungh
response.write("arr["&y&"] = '"& arr2(y)&"';")
next
Con le 3 righe sopra stai scrivendo (lato client) arr[0]='a'; arr[1]='b' etc
etc
Post by raenkrus
response.write("</script>")
%>
<script type="JScript">
Come sopra: qua chiudi ma subito dopo riapri => è inutile, no?
Post by raenkrus
for (x=0;x<=arr.length;x++) {
x<arr.length (x=arr.length crea un nuovo elemento nell'array)
Post by raenkrus
document.write("Array("+x+")= "+arr[x]+"<br>");
}
</script>
sebbene non abbia errori, due browser (IE6+sp1 e Mozilla Firebird
0.7.1) non visualizzano il contenuto dell'array arr (quello creato da
jscript). con netscape e opera non ho provato.
il caso è complesso, suggerimenti?
A me sembra corretto...conviene se posti il sorgente risultante nel browser

p.s. JScript è proprietario Microsoft, si chiama JavaScript il linguaggio di
scripting (<script type='JavaScript'>)
ZER0
2004-01-21 09:19:00 UTC
Permalink
Post by Cristiano Larghi
p.s. JScript è proprietario Microsoft, si chiama JavaScript il linguaggio di
scripting (<script type='JavaScript'>)
o usi language="Javascript" (che e' deprecated, ma per retrocompatibilita'
..) oppure type="text/javascript" :) Tu hai fatto una "fusion" dei due. ^_^
--
C'ya,
ZER0 :: coder.gfxer.webDesigner();

"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)
Cristiano Larghi
2004-01-21 09:19:48 UTC
Permalink
Post by ZER0
o usi language="Javascript" (che e' deprecated, ma per retrocompatibilita'
..) oppure type="text/javascript" :) Tu hai fatto una "fusion" dei due. ^_^
Sì, lo immaginavo ma non ricordavo la sintassi col type; volevo sottolineare
il JScript...
ZER0
2004-01-21 09:36:42 UTC
Permalink
Post by raenkrus
Post by Cristiano Larghi
Ti conviene comunque chiedere nel newsgroup di asp...fosse jscript ancora
ancora passa, ma vbscript....:-)
"Ti conviene comunque chiedere nel newsgroup di javascript...fosse
vbscript ancora ancora passa, ma javascript.....:-)"
immaginate?? si creerebbe un loop spiacevole :-)
Beh, ti basta mettere in piedi le due parti dei due rispettivi NG e hai
trovato la soluzione, no? :)
Post by raenkrus
<script type="JScript">
<script type="text/javascript">
Post by raenkrus
var x, arr;
arr = new Array(3);
var x, arr=new Array(3);
Post by raenkrus
</script>
Se questa chiusura la ometti, puoi benissimo anche omettere il
response.write poco piu' sotto (fai tutti in un unico blocco invece che
star a riaprire/chiudere ogni volta)
Post by raenkrus
<%
dim arr2, lungh
arr2 = Array("a","b","c")
lungh = ubound(arr2)
for y = 0 to lungh
Dovresti dichiarare anche y. Per proprio ci tieni ad usare VBScript, almeno
utilizza l'Option Explicit all'inizio di ogni pagina.
Post by raenkrus
response.write("arr["&y&"] = '"& arr2(y)&"';")
next
response.write("</script>")
Stesso discorso di prima. Puoi ometterlo e continuare a fare tutto in un
solo blocco.
Post by raenkrus
<script type="JScript">
E quindi omettere anche questo (che cmq e' scorretto per due motivi. Primo,
JScript e' solo Microsoft; secondo, l'attributo e' type="text/javascript").
Post by raenkrus
for (x=0;x<=arr.length;x++) {
document.write("Array("+x+")= "+arr[x]+"<br>");
}
il ciclo e' da 0 a < arr.length; in quanto length e' pari a 3 (hai tre
elementi) ma l'ultimo indice valido e' il 2 (avendo tre elementi che
partono da 0, ottieni 0,1,2 come indici, quindi l'indice 3 non esiste).
Post by raenkrus
</script>
E con questo chiudi tutto il blocco.
Post by raenkrus
il caso è complesso, suggerimenti?
Io farei cosi':

<script type="text/javascript">
<%
dim aspArray,lastIndex,i

aspArray=Array("a","b","c")
lastIndex=ubound(aspArray)

Response.Write("var jsArray=new Array(")

for i=0 to lastIndex-1
Response.Write("'" & aspArray(i) & "',")
next

Response.Write("'" & aspArray(i) & "');")

%>

alert(jsArray);

</script>
--
C'ya,
ZER0 :: coder.gfxer.webDesigner();

"Questa e' una lezione difficile, ma importante: Cio' che e' stato, e cio'
che sara', non cambia cio' che e'.
Sta a te decidere poi come prendere questa cosa,se logorarsi per un passato
che non puoi cambiare, invece di prendere tutto il bene che il presente ti
offre." ()
raenkrus
2004-01-21 22:52:22 UTC
Permalink
Post by ZER0
[...]
Se questa chiusura la ometti, puoi benissimo anche omettere il
response.write poco piu' sotto (fai tutti in un unico blocco invece che
star a riaprire/chiudere ogni volta)
giusto... oggi riguardavo quel codice e l'ho sistemato così:

<script language="javascript">
var arr = new Array();
<%
dim arr2, lungh, y
arr2 = Array("a","b","c")
lungh = ubound(arr2)

for y = 0 to lungh
response.write("arr[" & y & "] = '" & arr2(y) & "';" & vbcrlf)
next
%>
for (var x=0;x<arr.length;x++) {
document.write("Array(" + x + ")= " + arr[x] + "<br>");
}
</script>

il codice generato a run-time è:

<script language="javascript">
var arr = new Array();
arr[0] = 'a';
arr[1] = 'b';
arr[2] = 'c';

for (var x=0;x<arr.length;x++) {
document.write("Array(" + x + ")= " + arr[x] + "<br>");
}
</script>

bella discussione. vi ringrazio per i suggerimenti!

raenkrus
ZER0
2004-01-22 10:29:26 UTC
Permalink
[cut]
Il codice che ti ho scritto nel precedente post e' piu' ottimizzato,
buttaci un'occhiata.
--
C'ya,
ZER0 :: coder.gfxer.webDesigner();

"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)
raenkrus
2004-01-23 00:22:16 UTC
Permalink
Post by ZER0
[cut]
Il codice che ti ho scritto nel precedente post e' piu' ottimizzato,
buttaci un'occhiata.
l'ho letto il tuo codice, l'ho anche provato.
cosa vuoi, i complimenti per forza?
al tipo che ha aperto sto thread non importa niente di queste sbanfonerie.
e neanche a me.

raenkrus
ZER0
2004-01-23 08:03:36 UTC
Permalink
Post by raenkrus
l'ho letto il tuo codice, l'ho anche provato.
cosa vuoi, i complimenti per forza?
al tipo che ha aperto sto thread non importa niente di queste sbanfonerie.
e neanche a me.
Ragazzi, leggete e basite.
--
C'ya,
ZER0 :: coder.gfxer.webDesigner();

"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)
Cristiano Larghi
2004-01-23 09:05:58 UTC
Permalink
Post by ZER0
Post by raenkrus
l'ho letto il tuo codice, l'ho anche provato.
cosa vuoi, i complimenti per forza?
al tipo che ha aperto sto thread non importa niente di queste sbanfonerie.
e neanche a me.
Ragazzi, leggete e basite.
:-O

(ma cosa vuol dire sbanfonerie? Sarà un latinismo o un cafonismo? Boh)
Cristiano Larghi
2004-01-23 09:04:53 UTC
Permalink
Post by raenkrus
l'ho letto il tuo codice, l'ho anche provato.
cosa vuoi, i complimenti per forza?
Mah, a me sembra che sia te che vuoi che ti si dia del coglione per forza...

A parte che se Zer0 pretendesse i complimenti ogni volta ci sarebbero il
doppio dei thread in questo newsgroup (metà dei quali solo per i "grazie"),
ma...non ti viene il dubbio che magari se ti dice "guarda il mio che è più
ottimizzato" ci possa essere un perché?
Vero che funzionano entrambi, vero però anche che per andare da Milano a
Bergamo puoi prendere la milano-venezia oppure passare da Bologna...puoi
andarci sempre in prima e ci arriverai (forse), ma se impari a cambiare le
marce forse forse...
Post by raenkrus
al tipo che ha aperto sto thread non importa niente di queste sbanfonerie.
e neanche a me.
??????
sbanfonerie...lo ho cercato sul Garzanti ma non lo trovo, però però non mi
suona molto bene...sinceramente non ho capito bene il significato della
frase: sbruffonerie? Spero ben di no....
Eppoi come mai parli a nome di May? Pensavo foste la stessa persona, dato
che il tuo intervento sembrava una domanda e non una risposta...lavorate
assieme? Stessa donna? Figli in comune?

Fai il bravo, va là
raenkrus
2004-01-23 15:06:57 UTC
Permalink
Post by Cristiano Larghi
Mah, a me sembra che sia te che vuoi che ti si dia del coglione per forza...
eh, che vuoi, me le vado a cercare.
Post by Cristiano Larghi
ma...non ti viene il dubbio che magari se ti dice "guarda il mio che è più
ottimizzato" ci possa essere un perché?
certo, l'ho vista la differenza tra i due codici.
il mio mette <script language= eccetera da html, il suo da asp.
ma a naso mi sembra più ovvio che la tag <script> venga dichiarata (e
quindi anche chiusa) da html. alla fine sono interpretazioni. dal
punto di vista della chiarezza formale il codice di ZER0 è
ineccepibile.
Post by Cristiano Larghi
Vero che funzionano entrambi, vero però anche che per andare da Milano a
Bergamo puoi prendere la milano-venezia oppure passare da Bologna...puoi
andarci sempre in prima e ci arriverai (forse), ma se impari a cambiare le
marce forse forse...
assolutamente d'accordo.
Post by Cristiano Larghi
sbanfonerie...
forma dialettale (penso) usata nel triveneto. significato: azione del
mettersi in mostra giusto per il piacere di farlo. poco importa se a
torto o a ragione.
Post by Cristiano Larghi
Eppoi come mai parli a nome di May? Pensavo foste la stessa persona, dato
che il tuo intervento sembrava una domanda e non una risposta...lavorate
assieme? Stessa donna? Figli in comune?
niente di tutto ciò.
Post by Cristiano Larghi
Fai il bravo, va là
anche tu.

raenkrus
may
2004-01-27 16:55:32 UTC
Permalink
ciao!
Post by Cristiano Larghi
Eppoi come mai parli a nome di May? Pensavo foste la stessa persona, dato
che il tuo intervento sembrava una domanda e non una risposta...lavorate
assieme? Stessa donna? Figli in comune?
scusa ma io sto raenkrus non l'ho mai ne sentito ne "curato". La mia era una
domanda perchè avevo un problema. Fortunatamente grazie a cristiano ho
risolto il problema e grazie a qualche altro ho capito qualcosina in più!!
per il resto non vorrei essere assimilato ad alcuno.
ciao e grazie a tutti nuovamente e a risentirci
may
Cristiano Larghi
2004-01-27 19:39:08 UTC
Permalink
Non era niente di offensivo nei tuoi confronti, né, solo un po' di
ironia..con i "mister simpatia" cosa vuoi fare: o ci ridi un po' sopra,
oppure li mandi...:-)
.
A presto
Cristiano

Catarsi
2004-01-23 09:41:26 UTC
Permalink
Post by raenkrus
Post by ZER0
Il codice che ti ho scritto nel precedente post e' piu' ottimizzato,
buttaci un'occhiata.
l'ho letto il tuo codice, l'ho anche provato.
cosa vuoi, i complimenti per forza?
Non sapevo che "buttaci un'occhiata" e "voglio i complimenti per forza"
avessero identico significato. Devo confessarlo: la lingua italiana per
me è un mistero.
Post by raenkrus
al tipo che ha aperto sto thread non importa niente di queste sbanfonerie.
e neanche a me.
E dopo "sbanfonerie" il mistero s'infittisce.
--
mailto: y = i
----------------------------------------
Vivo nel terrore di non essere frainteso
(Oscar Wilde)
Cristiano Larghi
2004-01-23 09:52:22 UTC
Permalink
Post by Catarsi
E dopo "sbanfonerie" il mistero s'infittisce.
Pensavo: "alla maniera di Banfi" ?
Catarsi
2004-01-23 10:26:24 UTC
Permalink
Post by Cristiano Larghi
Post by Catarsi
E dopo "sbanfonerie" il mistero s'infittisce.
Pensavo: "alla maniera di Banfi" ?
ROTFL :-) Sì, forse il significato è quello.
--
mailto: y = i
----------------------------------------
Vivo nel terrore di non essere frainteso
(Oscar Wilde)
artemis.alpeia
2004-01-23 10:05:51 UTC
Permalink
Post by raenkrus
Post by ZER0
[cut]
Il codice che ti ho scritto nel precedente post e' piu' ottimizzato,
buttaci un'occhiata.
l'ho letto il tuo codice, l'ho anche provato.
cosa vuoi, i complimenti per forza?
bella maniera di ringraziare chi ti dedica parte del suo tempo

--
artemis.alpeia

--------------------------------
Inviato via http://arianna.libero.it/usenet/
Loading...