Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    270

    problema con funzione replace

    ciao a tutti,
    ho un problema con la funzione replace.
    praticamente estraggo dei dati da un db e quando ci clicco sopra riempio dei campi di un form in questo modo:
    codice:
    document.getElementById('form1').nome.value=nome;
    solo che sul nome, lato server, è stato fatto l'escape dei caratteri speciali quindi se per esempio nome è "noco'" me lo traduce in "noco\'". allora ho fatto
    codice:
    document.getElementById('form1').nome.value=nome.replace("\\","");
    ma non funziona.

    mi sapete dare una mano?

  2. #2
    dovresti fare l'unescape sul lato server, se il server non te lo fa in automatico - a quel punto dipende da cosa usi lato server.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    270
    io faccio un string_escape() della stringa lato server e la metto nel codice della pagina da passare al javascript.
    successivamente faccio stringa.replace() per eliminare gli "\" come ho indicato nel post sopra

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Al javascript devono arrivare variabili stringa valorizzate correttamente... non puo' fare il replace in un errore di sintassi

    Il che poi si riduce ad "escapare" gli apici, le virgolette ed i ritorni a capo... ma sempre e rigorosamente lato server.

    esempio in asp
    <%
    pippo = replace(DatolettoDaDB,"'","\'")
    pippo = replace(pippo,"""","\""")
    pippo = replace(pippo,vbcrlf,"\n")
    %>
    stringa = "<%=pippo%>";
    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

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    270
    infatti io faccio l'escape lato server. solo che poi per richiamare potrei eliminare lato server gli "\" pero poi le parole con " ' " mi creano problemi nel passaggio delle stringhe alla funzione di javascript e quindi le stringhe le passo ancora con gli "\".
    pero una volta che il js mi riempie i textbox vorrei che questi "\" me gli togliesse.

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.