Comillas y función JavaScript en Ajax para Asp Clásico

Cuando se realiza una llamada Ajax a una página de asp clásico, y esta nos devuelve un botón o un link con una función JavaScript, es fácil encontrarse con problema de que no se pueden enviar caracteres a la función ya que al colocar otra vez las comillas corta la función en el onClick.

Para ejemplificar imaginemos q se retorna un botón con la función JavaScript llamada “MiFuncion” en la que queremos enviar alguna cadena.
El primer intento saldría algo asi (fijense en las cremillas en rojo):



Response.write “<input type=’button’ onClick=’MiFuncion(”& cadena &”)’ > ”


Esto al retornar lo agregamos a un div HTML, pero al momento de hacer click sobre el botón aparecerá el error JavaScript y al revisar el código con una herramienta como el firebug de mozilla nos podremos encontrar con esto:

<input type=’button’ onClick=’MiFuncion(‘>

Pueden pasar muchas horas cuando no se sabe cómo solucionar este problema (incluyéndome). Aunque parece muy simple, es difícil de encontrar en internet.

Esto se puede solucionar de la siguiente manera:

Response.write “<input type=’button’ onClick=’MiFuncion(“””& cadena &”””)’ > ”

Asp nos deja la posibilidad de enviar TRIPLE comilla en estos casos permitiéndonos que la función llegue correctamente al JavaScript y se pueda interpretar bien:

<input type=’button’ onClick=’MiFuncion(“Hola Mundo”)‘>

Comentarios

Entradas populares