139 votos

Javascript: ¿Cómo añadir saltos de línea a un textarea HTML?

Estoy editando un área de texto con JavaScript. El problema es que cuando hago saltos de línea en él, no se muestran. ¿Cómo puedo hacer esto?

Estoy obteniendo el valor para escribir una función, pero no dará saltos de línea.

242voto

TStamper Puntos 17163

El problema viene del hecho de que las líneas se rompen ( \n\r ?) no son lo mismo que las etiquetas HTML < br />

var text = document.forms[0].txt.value;
text = text.replace(/\r?\n/g, '<br />');

21voto

jit Puntos 333

si usas java general script y necesitas asignar una cadena al valor del área de texto entonces

 document.getElementById("textareaid").value='texthere\\\ntexttext'.

que necesitas reemplazar \n o < br > a \\\n

de lo contrario da Uncaught SyntaxError: Unexpected token ILLEGAL en todos los navegadores.

13voto

0lukasz0 Puntos 1072

Tal vez alguien encuentre esto útil:

Tuve problemas con los saltos de línea que se pasaban de la variable del servidor a la variable de javascript, y luego javascript los escribía en el área de texto (usando enlaces de valores knockout.JS).

la solución fue el doble de escapar de las nuevas líneas:

orginal.Replace("\r\n", "\\r\\n")

en el lado del servidor, porque con sólo los caracteres de escape simple Javascript no estaba analizando.

12voto

strubester Puntos 77

que necesitas usar \n para los saltos de línea en un área de texto

3voto

Aaron Digulla Puntos 143830

Una nueva línea es sólo un espacio en blanco para el navegador y no será tratada de manera diferente a un espacio normal (" "). Para obtener una nueva línea, debes insertar <BR /> elementos.

Otro intento de resolver el problema: Escribir el texto en el área de texto y luego agregar algo de JavaScript detrás de un botón para convertir los caracteres invisibles en algo legible y volcar el resultado a un DIV . Eso te dirá lo que tu navegador quiere.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X