Actualmente estoy usando Javascript para construir una cadena a partir de una matriz y pasarla a un modal HTML, sin embargo, no estoy claro sobre cómo mostrar la cadena con saltos de línea en el medio, ya que ahora el HTML representa la cadena construida en Javascript como un linea sola. Cualquier ayuda sería apreciada.

Javascript:

    function ShowCrashString(str) {
    var temp_split = str.split(';');
    temp_str = '';

    for (var i=0; i < temp_split.length; i++) {
        temp_str += temp_split[i] + '\n;'
    }
    document.getElementById("crash-modal").innerHTML = temp_str;
}

Código modal HTML:

    <div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
                <div class="modal-dialog modal-dialog-centered" role="document">
                    <div class="modal-content">
                        <div class="modal-header">
                            <h5 class="modal-title" id="exampleModalLongTitle">Crash Analysis</h5>
                            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                <span aria-hidden="true">&times;</span>
                            </button>
                        </div>
                        <div class="modal-body" id="crash-modal">

                            <!-- data gets populated here -->
                        </div>
                        <div class="modal-footer" id="to-copy">
                            <button type="button" class="btn btn-secondary" data-dismiss="modal"
                                id="closeModal">Close</button>
                            <button class="btn btn-primary" onClick="CopyToClipboard('crash-modal')">Copy</button>
                        </div>
                    </div>
                </div>
            </div>
2
vipercity 25 sep. 2019 a las 19:47

3 respuestas

La mejor respuesta

Necesita usar <br/> en su lugar \n para HTML

temp_str += temp_split[i] + '<br/>'
1
karthikdivi 25 sep. 2019 a las 16:50

Creo que eso resolverá tu problema

function ShowCrashString(str) {
    var temp_split = str.split(';');
    temp_str = '';

    for (var i=0; i < temp_split.length; i++) {
        temp_str += temp_split[i] + '<br/>'
    }
   document.getElementById("crash-modal").innerHTML = temp_str;
}
0
Vladislav Moraru 25 sep. 2019 a las 16:58

Dos formas de hacer esto:

  1. Pon tu texto en una etiqueta
    . Esto mostrará tus nuevas líneas
  2. Use str.replace (/ \ n / g, "
    ") para reemplazar sus líneas nuevas con etiquetas
0
ControlAltDel 25 sep. 2019 a las 16:50