Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    quali caratteri sostituire affinchè javascrip non vada in errore?

    Quando in una pagina si verifica un errore voglio visualizzare il messaggio di errore tramite un alert, così:

    codice:
    <script>alert('<%=messaggio%>');</script>
    tutto va in errore perchè la variabile messaggio restituisce dei caratteri strani, apici, doppi apici e altro.

    In pratica vorrei sapere quali caratteri in messaggio cambiare e con cosa

    grazie
    Pietro

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    <script>alert('<%=Replace(messaggio,"'","\'")%>'); </script>

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    In JS una stringa non puo` contenere il carattere che la limita.

    Quindi
    var str = "questa e` una stringa";

    non puo` contenere il carattere virgolette ("), mentre
    var str = 'questa e` una stringa';

    non puo` contenere il carattere apice (').

    Poi ci sono i caratteri di controllo, tipo CR (13), LF (10) ed altri che possono dare problemi.

    In Italiano il carattere che si trova piu` frequente e` l'apice, perche` viene usato come apostrofo; per cui in generale conviene limitare la stringa con le virgolette (ed evitare di usarle all'interno).

    In effetti non e` completamente vero, dato che si puo` far precedere un carattere interno dal carattere di escape backslash (\\), che pero` viene eliminato ogni volta che la stringa viene manipolata, per cui andrebbe duplicato o triplicato per ogni manipolazione.

    Nota: se ci sono caratteri fuori dai caratteri ASCII standard (oltre i 7 bit), vanno gestiti con i vari charset, per cui non li ho considerati.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Sì. Ho fatto così e funziona. Grazie
    vbNewLine --> \n
    \ --> \\
    ' --> \'
    Pietro

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 © 2024 vBulletin Solutions, Inc. All rights reserved.