44 messaggi dal 04 giugno 2001
Ciao.
Ho nel mio codice un comando che interroga il database e in base ai risultati dovrebbe costruire un javascript che vado ad inserire nella pagina.
Sto tentando di farlo utilizzando .innerHtml sul output ma quando vado a scripvere il tag </script> mi da' sempre l'errore di compilazione BC30648: String constants must end with a double quote.


es.:

<script runat="server" language="vb">
sub Page_Load(Source as Object, e as EventArgs)
script.innerHtml = "<script language=javascript>"
script.innerHtml = "alert('pippo');"
script.innerHtml = "</script>"
end sub
</script>
<div id="script" runat="server" />

Molto probabilmente c'è qualcosa di sbagliato nel ragionamento.... :-(
quindi mi metto a studiare... ma nel fra tempo qualcuno puo' darmi una mano...

Grazie

Marczewski Rafal
73 messaggi dal 28 gennaio 2003
devi spezzare la scritta, perchè altrimenti il tag <script> viene interpretato lato server.
script.innerHtml = "<scr" + "ipt language=javascript>"
script.innerHtml = "alert('pippo');"
script.innerHtml = "</scr" + "ipt>"
73 messaggi dal 28 gennaio 2003
...e non chiamare il tag <div> "script"... chiamalo "faiScript" o qualsiasi altra cosa, script è una parola chiave e potrebbe causarti dei problemi.
3.939 messaggi dal 28 gennaio 2003
Prova così:

Dim s$
s = "<script language=javascript>" & vbCrLf
s += "alert('Ciao, Mondo!')" & vbCrLf
s += "</script>" & vbCrLf

Me.script.InnerHtml = s
44 messaggi dal 04 giugno 2001
ok !
Grazie mille.... ora funziona !

Marczewski Rafal
44 messaggi dal 04 giugno 2001
...comunque mi sembra strano che "</string>" viene riconosciuto come un comando..... specialmente se assegnato ad un tipo string....

Marczewski Rafal
73 messaggi dal 28 gennaio 2003
...intendevi "</script>" ???
Cmq, lo interpreta anche se assegnato ad un tipo string, trovi molta documentazione in giro in cui lo spiegano meglio di me :)
3.939 messaggi dal 28 gennaio 2003
Ho visto dalle risposte che forse non si è capito bene il problema di fondo che è più banale di quanto si pensi.

Se tu in un punto del codice qualunque hai un codice del genere

dim s as string

s = "x"
s = "y"
s = "z"
è ovvio che s memorizza l'ultima immissione, "z".
Se vuoi memorizzare tutto:
s = "x"
s &= "y"
s &= "z"


Tu hai fatto:
script.InnerHtml = "<script language=javascript>"
script.InnerHtml = "alert('pippo');"
script.InnerHtml = "</script>"

Perciò, il testo contenuto tra i tag <div></div> sarà l'ultima immissione:
"</script>

Se guardi l'html generato troverai:

<div id="script"></script></div>

Per quanto riguarda lo spezzettare la stringa per scrivere codice javascript lato client, non è il tuo caso (server) ma riguarda la generazione da codice lato client col metodo write dell'oggetto document.

Ciao






Modificato da pietro09 il 27 febbraio 2003 08.44 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.