HighDots Forums  

mozilla e stringhe(errore)

Javascript (Italian) Il linguaggio JavaScript (it.comp.lang.javascript)


Discuss mozilla e stringhe(errore) in the Javascript (Italian) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Reggy
 
Posts: n/a

Default mozilla e stringhe(errore) - 01-27-2005 , 09:50 PM






Nel sito che ho costruito x la visualizzazione delle news utilizzo una
tabella inizialmente composta da una riga e se viene premuto leggi viene
aggiunta una riga con il corpo della news. Tale corpo è passato alla
funzione da php usando onclick=show('stringa').
Fin qua tutto ok con konqueror, Ie ( modificando lo script x l'aggiunta di
una riga alla tabella) ma con mozilla acqua...
Se la stringa è corta va bene altrimenti da l'errore "unterminated string
literal"..

Qualche suggerimento?
Grazie in anticipo.

Francesco

Reply With Quote
  #2  
Old   
Gaetano Bigliardi
 
Posts: n/a

Default Re: mozilla e stringhe(errore) - 01-28-2005 , 05:34 AM






Reggy wrote:
Quote:
Fin qua tutto ok con konqueror, Ie ( modificando lo script x l'aggiunta di
una riga alla tabella) ma con mozilla acqua...
Se la stringa è corta va bene altrimenti da l'errore "unterminated string
literal"..
E' un errore di sintassi e non dovrebbe centrare nulla con la lunghezza
della stringa. Probabilmente la stringa che cerchi di stampare in modo
dinamico (giusto?) contiene un a capo oppure in qualche modo viene
generato uno script non valido.

Fai "View Page Source" e controlla che script viene generato
effettivamente.


Gaetano


Reply With Quote
  #3  
Old   
Reggy
 
Posts: n/a

Default Re: mozilla e stringhe(errore) - 01-28-2005 , 06:04 AM



Gaetano Bigliardi wrote:


Quote:
E' un errore di sintassi e non dovrebbe centrare nulla con la lunghezza
della stringa. Probabilmente la stringa che cerchi di stampare in modo
dinamico (giusto?) contiene un a capo oppure in qualche modo viene
generato uno script non valido.
Scusa la domanda da newby ma gli a capo danno problemi? Php fa la
sostituzione dei \n del DB con stringa \n ossia alla funzione javascript è
passata letteralmente "bla bla bla \n bla bla bla"..
ma la stringa è sempre tra apici e gli apici nel corpo vengono messi con il
carattere di escape..

Quote:
Fai "View Page Source" e controlla che script viene generato
effettivamente.
ad esempio il codice di una news è:
javascript:showTable('xxxx xxxx xxxxxx xxxxxxxxx xx 0-20 x xxxxxxxx (xxx
xxxxxxxxxxx xxxxxxx xxx xxx xxxxx xx xxxxxxxxxx) xxx xxxx xxxxxxxxx xx
xxxxxxxxxxxx xxx xxx xxxxx xxxxx xxxx xxxxxxx xxx x xxxxxxx xxxxxx xxxxxxx,
xx xxxxxxx xxxxxxx xx xxxx xxxxxxxxxxx xx xxxxxxx xxxxxxxxxxxxx (xxxxxxxx x
xxxxxx) xxxxxxxxxxxxx xxxx xxxx xx xxxxxx xxxxxxx xxxxxx xxxxxxx xxx xx
xxxxxxxxx xxxx.
\n xx xxxxxxxxxx xxxxxxxxx, x xxxxx xxx xxxxxxxxxxxx xxxxxxxxxx xx xxx
xxxxxxxxx, xx x xxxxxxx xxxxx xxxxxxxxxx xx xxxxx xxxxxxxx xxxxxxxxxxx
xxxxx xxxxx xxxx xxxxxxxx xx xxxxxxxxxx, xxxxxxxx xxxxxx xxxxxxxx xxxxxx xx
xxxxxx xxxxxxxxxx, xxx xxxxxxxxxxx xxxxxxx xx xxx xx xxxxx.
\n xx xxxxxxxxxx xxxxxxxx xxx xxxx (xxxxx xxxxxxx xxxxxxxx xxxx xx) x xxxxx
xxxxxxxxxx xxxxxxx xxxxx xx xxxxx x xxxxxxxxxxxxx
xxxxxxx.',2,20,'xxxxxxxxxxxxxxx')"

Il problema forse è che nella console javascript di mozilla mi vengono
mostrati un sacco di %C3%A0 che sostituiscono accentate e altro.. può
essere questo il problema?
Grazie in anticipo..
Quote:
Gaetano


Reply With Quote
  #4  
Old   
Gaetano Bigliardi
 
Posts: n/a

Default Re: mozilla e stringhe(errore) - 01-28-2005 , 06:48 AM



Reggy wrote:

Quote:
Scusa la domanda da newby ma gli a capo danno problemi? Php fa la
sostituzione dei \n del DB con stringa \n ossia alla funzione javascript è
passata letteralmente "bla bla bla \n bla bla bla"..
ma la stringa è sempre tra apici e gli apici nel corpo vengono messi con il
carattere di escape..
Se succede veramente così il problema è un'altro.

Quote:
ad esempio il codice di una news è:
javascript:showTable('xxxx xxxx xxxxxx xxxxxxxxx xx 0-20 x xxxxxxxx (xxx
xxxxxxxxxxx xxxxxxx xxx xxx xxxxx xx xxxxxxxxxx) xxx xxxx xxxxxxxxx xx
[...]
xxxxxxxxxx xxxxxxx xxxxx xx xxxxx x xxxxxxxxxxxxx
xxxxxxx.',2,20,'xxxxxxxxxxxxxxx')"
Vedi che invece il \n non è stato messo? Dovrebbe venir generata
una sola riga molto lunga. Questa singola riga:

javascript:showTable('xxxx xxxx xxxxxx xxxxxxxxx xx 0-20 x xxxxxxxx (xxx

per l'interprete JavaScript è uno string literal senza terminazione
(come da errore che ti viene notificato).


Gaetano


Reply With Quote
  #5  
Old   
Reggy
 
Posts: n/a

Default Re: mozilla e stringhe(errore) - 01-28-2005 , 07:01 AM



Gaetano Bigliardi wrote:

Quote:
Vedi che invece il \n non è stato messo? Dovrebbe venir generata
una sola riga molto lunga. Questa singola riga:
di \n ce ne sono 2... nel mio esempio sono a inizio riga..
per la sostituzione ho fatto
$str=ereg_replace("\n",'\n',$news_body);
i \n ci sono..
può essere un problema dei \0? La stringa più precisamente è:
javascript:showTable('xxxx xxxx xxxxxx xxxxxxxxx xx 0-20 x xxxxxxxx (xxx
xxxxxxxxxxx xxxxxxx xxx xxx xxxxx xx xxxxxxxxxx) xxx xxxx xxxxxxxxx xx
xxxxxxxxxxxx xxx xxx xxxxx xxxxx xxxx xxxxxxx xxx x xxxxxxx xxxxxx xxxxxxx,
xx xxxxxxx xxxxxxx xx xxxx xxxxxxxxxxx xx xxxxxxx xxxxxxxxxxxxx (xxxxxxxx x
xxxxxx) xxxxxxxxxxxxx xxxx xxxx xx xxxxxx xxxxxxx xxxxxx xxxxxxx xxx xx
xxxxxxxxx xxxx.%0D\n xx xxxxxxxxxx xxxxxxxxx, x xxxxx xxx xxxxxxxxxxxx
xxxxxxxxxx xx xxx
xxxxxxxxx, xx x xxxxxxx xxxxx xxxxxxxxxx xx xxxxx xxxxxxxx xxxxxxxxxxx
xxxxx xxxxx xxxx xxxxxxxx xx xxxxxxxxxx, xxxxxxxx xxxxxx xxxxxxxx xxxxxx xx
xxxxxx xxxxxxxxxx, xxx xxxxxxxxxxx xxxxxxx xx xxx xx xxxxx.
%0D\n xx xxxxxxxxxx xxxxxxxx xxx xxxx (xxxxx xxxxxxx xxxxxxxx xxxx xx) x
xxxxx
xxxxxxxxxx xxxxxxx xxxxx xx xxxxx x xxxxxxxxxxxxx
xxxxxxx.',2,20,'xxxxxxxxxxxxxxx')"

più la conversione delle accentate..
Quote:
javascript:showTable('xxxx xxxx xxxxxx xxxxxxxxx xx 0-20 x xxxxxxxx (xxx

per l'interprete JavaScript è uno string literal senza terminazione
(come da errore che ti viene notificato).


Gaetano
Grazie


Reply With Quote
  #6  
Old   
Gaetano Bigliardi
 
Posts: n/a

Default Re: mozilla e stringhe(errore) - 01-28-2005 , 07:28 AM



Potresti utilizzare questo trucco: fai l'escape lato server
e l'unescape lato client. In ASP diventerebbe:


javascript:showTable(unescape("<%= Escape(news_body) %>"));


In questo modo togli tutti i caratteri che possono dare fastidio,
comprese le lettere accentate.


Gaetano

Reply With Quote
  #7  
Old   
Reggy
 
Posts: n/a

Default Re: mozilla e stringhe(errore) - 01-29-2005 , 06:22 AM



Gaetano Bigliardi wrote:

Quote:
Potresti utilizzare questo trucco: fai l'escape lato server
e l'unescape lato client. In ASP diventerebbe:


javascript:showTable(unescape("<%= Escape(news_body) %>"));


In questo modo togli tutti i caratteri che possono dare fastidio,
comprese le lettere accentate.


Gaetano
Ho trovato l'errore, dovevo sostituire \r\n e non solo \n..
Cmq grazie

Ciao


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.