Tengo una función que recibe una cadena de una sola línea y la muestra sin problemas usando una alerta emergente de alertify JS, pero cuando es una cadena de varias líneas, da un error que dice Uncaught SyntaxError: Invalid or unexpected token . A continuación se muestra mi función:
<script> function changes(changes) { alertify.confirm(changes, function () { }).setHeader('Document Changes'); }Los cambios son la cadena que estoy recibiendo y la estoy mostrando en un cuadro de alerta. A continuación se muestra de dónde obtengo los cambios. Obtengo esta cadena de un objeto y la paso a mi función
{ "render": function (data, type, full, meta) { return '<button onclick="changes(\'' + full.changes + '\')" class="btn btn-info"><i class="fas fa-info-circle"></i> Changes</button>'; } }Cuando hago clic en este botón, no envía la cadena de varias líneas a mi función, pero cuando es una cadena de una sola línea, funciona sin problemas.
El texto de muestra que trae el error es el siguiente:
pie de página añadido
Heder añadido
contenido agregado
A continuación se muestra un violín que he replicado el error Js Fiddle
si el problema eran cadenas de varias líneas, puede usar las marcas de retroceso ` para imprimir las cadenas de varias líneas en javascript
alert(`this is \n multi line \n string`)y en tu caso sería:
alertify.confirm(`${changes}`,....Usa los acentos graves, Luke.
let changes =` This is a multiline alert message `; alert(changes);