none
Texto con ' no hace bien RRS feed

  • Pregunta

  • Hola:

    En un momento dado, en mis páginas digo por javascript que me ponga un texto. Hago

    opener.document.getElementById('ctl00_cphcontenido_gvobras_" & Request.QueryString("id") & "_lblnsolicitudes').innerHTML='" & strsolicitudes & "'

    Si strsolicitudes es 

    'sad
    Intento mostrar un texto en francés. algunas frases llevan '.

    no hace nada, no pone el texto, no ejecuta el script, y mucho me temo que sea por la '. ¿Cómo hacerlo bien? Cuando no tiene ' ejecuta bien el script.

    Gracias de antemano.






    • Editado volar.2016 sábado, 26 de septiembre de 2020 8:02
    viernes, 25 de septiembre de 2020 10:31

Respuestas

  • Hola, puede ser que el compilador piense que el "' " esta cerrando texto, por lo tanto requiere de la otra comilla simple. Otra posibilidad es que  sea la codificación de tu archivo, puedes ponerlo en UTF-8.

    Saludos

    viernes, 25 de septiembre de 2020 15:34
    Moderador
  • En javascript, para poner una comilla dentro de una cadena que va encerrada entre comillas, hay que escapar la comilla interna anteponiéndole una contrabarra. Es decir, para introducir 'p tienes que meterlo como \'p .

    ...opener.document.getElementById('ctl00_cphcontenido_gvobras_" & Request.QueryString("id") & "_lblnsolicitudes').innerHTML='" & strsolicitudes.Replace("'", "\'") & "'...

    Otra alternativa es cambiar las comillas externas por comillas dobles (a javascript le da lo mismo, pero no lo intentes con otros lenguajes en los que no da igual usar comillas simples o dobles).

    • Marcado como respuesta volar.2016 lunes, 28 de septiembre de 2020 8:21
    domingo, 27 de septiembre de 2020 18:43

Todas las respuestas

  • Hola, puede ser que el compilador piense que el "' " esta cerrando texto, por lo tanto requiere de la otra comilla simple. Otra posibilidad es que  sea la codificación de tu archivo, puedes ponerlo en UTF-8.

    Saludos

    viernes, 25 de septiembre de 2020 15:34
    Moderador
  • Hola nuevamente:

    Tengo

    "opener.document.getElementById('ctl00_cphcontenido_gvobras_" & Request.QueryString("id") & "_lblclaves').innerHTML='p'''"

    No ejecuta el script, no coge bien p'

    Me falla. ¿Cómo hacerlo?

    Muchísimas gracias.



    • Editado volar.2016 domingo, 27 de septiembre de 2020 15:29
    domingo, 27 de septiembre de 2020 15:11
  • En javascript, para poner una comilla dentro de una cadena que va encerrada entre comillas, hay que escapar la comilla interna anteponiéndole una contrabarra. Es decir, para introducir 'p tienes que meterlo como \'p .

    ...opener.document.getElementById('ctl00_cphcontenido_gvobras_" & Request.QueryString("id") & "_lblnsolicitudes').innerHTML='" & strsolicitudes.Replace("'", "\'") & "'...

    Otra alternativa es cambiar las comillas externas por comillas dobles (a javascript le da lo mismo, pero no lo intentes con otros lenguajes en los que no da igual usar comillas simples o dobles).

    • Marcado como respuesta volar.2016 lunes, 28 de septiembre de 2020 8:21
    domingo, 27 de septiembre de 2020 18:43
  • hola

    Deberias aplicar un encode sobre el texto

    HttpServerUtility.HtmlEncode()

    entonces usarias

    opener.document.getElementById('...).innerHTML='" & Server.HtmlEncode(strsolicitudes) & "';

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 28 de septiembre de 2020 2:38