Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema script con apice

    Ciao a tutti,
    vi spiego il mio problema:
    quando richiamo dal db un valore (contenenete un apice) da passare ad uno script mi va in errore.

    CON QUESTO FACCIO IL RICHIAMO DELLO SCRIPT:
    codice:
    <a onmouseover="javascript:descrizione('<%=rsfoto1("descrizione")%>')" </a>
    dove descrizione è: all'alba

    QUESTO E' LO SCRIPT:
    codice:
    <script type="text/javascript"><!-- 
    function descrizione(testo) { 
    document.getElementById("desc").innerHTML=testo 
    } 
    //--></script>
    Qualcuno sa dirmi come posso risolvere?
    Per me è necessario avere gli apici nel testo da passare allo script...

    Fatemi sapere
    Grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La cosa migliore e` risolvere lato server PRIMA di spedire la stringa al client.

    Ci sono vari trucchi: forse il piu` semplice e` anteporre all'apice una backslash (o piu` di una se la stringa viene maneggiata piu` volte: ad ogni rimaneggimento viene mangiata la meta` delle backslash + 1).

    Ti conviene comunque usare una sintassi leggermente diversa:
    <a onmouseover='descrizione("<%=rsfoto1("descrizione" )%>");'>clicca </a>
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Ok, ho messo il backslash e funziona... cosa mi consigli?
    Modifico la sinstassi che mi hai indicato o può andar bene anche così?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Il "javascript:" dentro una stringa che di default e` javascript non serve.

    Quando c'e` una serie di stringhe innestate, io preferisco alternare apici e virgolette, quindi:
    onmouseover='descrizione("all\\'alba");'

    e non
    onmouseover="descrizione('all\\'alba');"

    E` piu` robusto rispetto a variazioni e/o interpretazioni da parte di browser diversi.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Ok, grazie mille.
    Seguirò i tuoi consigli.

    Alla prossima.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.