Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    305

    Funzione repalce in JAVASCRIPT

    Nella variabile "contenuto" sono presenti i doppi apici che voglio sostituire con """ in modo che quando inserisco la variabile in un campo di input non mi venga troncata la stringa appena viene incontrato il primo doppio apice.

    Il sorgente è il seguente:

    <%
    var contenuto = "stringa_contenente_doppi_apici";
    contenuto = replace(contenuto,"""","& #034;");
    if (contenuto.length>0) contenuto = server.htmlEncode(contenuto)
    %>

    <input name="CampoInput" type="text" id="CampoInput" value="<%=contenuto%>" readonly>

    Ho il seguente errore:

    Errore di compilazione di Microsoft JScript error '800a03ee'
    Previsto ')'
    contenuto = replace(contenuto,"""","& #034;")


    NOTA: "& #034;" l'ho scritto senza spazi tra & e # nel codice ma per farlo vedere ho dovuto inserire uno spazio!!!

    Grazie.

    Vincenzo

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    305
    Il seguente codice è scritto in VBSRIPT anzichè JAVASRIPT:

    <% contenuto = rs_scheda("CAMPO_TABELLA")
    if len(contenuto)>0 then contenuto = server.htmlEncode(contenuto)
    %>
    <input name="CampoInput" type="text" id="CampoInput" value="<%=contenuto%>" size="100" maxlength="100" readonly>

    Come mai il codice di sopra funziona correttamente, leggendo anche le stringhe che contengono i doppi apici, mentre il seguente codice in JAVASCRIPT:

    <% var contenuto = Mostra("CAMPO_TABELLA");
    if (contenuto.length>0) contenuto = server.htmlEncode(contenuto)
    %>
    <input name="CampoInput" type="text" id="CampoInput" value="<%=contenuto%>" size="100" maxlength="100" readonly>

    non carica tutto quello che si trova dopo il primo doppio apice ??

    Grazie.

    Vincenzo

  3. #3
    Se non sbaglio in vbsCript per indicare un carattere particolare come i doppi apici bisogna metterne 2 ovvero : ""

    In Javascript dovrebbe invece indicarsi così : \"

    Prova \" anzicchè "" forse funziona.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    305
    Ho scritto:

    <% var contenuto = Mostra("CAMPO_TABELLA");
    if (contenuto.length>0)
    {
    contenuto = server.htmlEncode(contenuto);
    replace(contenuto,"\"","& #034;");
    }
    %>

    <input name="CampoInput" type="text" id="CampoInput" value="<%=contenuto%>" size="100" maxlength="100" readonly>

    ma il problema persiste, cioè il valore di contenuto viene troncato al primo doppio apice che viene trovato.

    Vincenzo

  5. #5
    perchè usi :
    replace(contenuto,"\"",""");

    anzicchè
    replace(contenuto,"\"","");

    ovvero, perchè non lo elimini proprio ?

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    305
    ...non ho capito

    io scrivo:

    replace(contenuto,"\"","& #034;")

    dove ho inserito lo spazio tra & e # per farti vedere il codice con cui dovrebbero essere cambiate tutte le occorrenze di doppio apice nella stringa...

    Adesso ho capito!!!

    Ho provato come dici ma non funziona.

    Mi sembra che non trova le occorrenze di doppio apice

    Vincenzo

  7. #7
    Aspè non sto capendo tu dici doppio apice il carattere composto da due apici singoli, ovvero ' ripetuto 2 volte oppure:
    le virgolette " , un unico carattere quello sopra al tasto 2 ?

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    305
    io indico le virgolette, il carattere sopra il tasto 2

  9. #9
    ultima cosa che mi viene in mente

    prova così :

    replace(contenuto,"""","");

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.