Estoy editando un <textarea>
con JavaScript. El problema es que cuando hago saltos de línea, no se mostrarán. ¿Cómo puedo hacer esto?
Estoy obteniendo el valor para escribir una función, pero no dará saltos de línea.
javascript
html
textarea
line-breaks
djairo
fuente
fuente
<pre></pre>
soluciones expuestas aquí: codepen.io/a-guerrero/pen/grgVBoRespuestas:
El problema proviene del hecho de que los saltos de línea (
\n\r
?) No son lo mismo que las<br/>
etiquetas HTMLACTUALIZAR
Dado que muchos de los comentarios y mi propia experiencia me han demostrado que esta
<br>
solución no funciona como se esperaba, aquí hay un ejemplo de cómo agregar una nueva línea altextarea
uso de '\ r \ n'Decidí hacer esto una edición, y no como una nueva pregunta porque esta es una respuesta demasiado popular para estar equivocada o incompleta.
fuente
/(\r\n|\n|\r)/gm
textfixer.com/tutorials/javascript-line-breaks.php/\r\n?|\n/g
sin captura, sin multilínea.<br>
está equivocado. Para un salto de línea universal en un área de texto que desee\r\n
. Por ejemplo, el navegador UC ignora <br> y \ n en áreas de texto. Consulte Agregar un salto de línea en un área de texto HTML .si usa un script java general y necesita asignar una cadena al valor del área de texto, entonces
es necesario sustituir
\n
o< br >
al\\\n
de lo contrario da
Uncaught SyntaxError: Unexpected token ILLEGAL
en todos los navegadores.fuente
Quizás alguien encuentre esto útil:
Tuve problemas con los saltos de línea que se pasaron de la variable del servidor a la variable de JavaScript, y luego JavaScript los estaba escribiendo en textarea (usando enlaces de valor knockout.js).
la solución fue escapar dos veces de nuevas líneas:
en el lado del servidor, porque con solo caracteres de escape javascript no se estaba analizando.
fuente
Necesitas usar
\n
paralinebreaks
adentrotextarea
fuente
Si desea mostrar texto dentro de su propia página, puede usar la
<pre>
etiqueta.fuente
Una nueva línea es solo un espacio en blanco para el navegador y no se tratará de manera diferente a un espacio normal (""). Para obtener una nueva línea, debe insertar
<BR />
elementos.Otro intento de resolver el problema: escriba el texto en el área de texto y luego agregue algo de JavaScript detrás de un botón para convertir los caracteres invisibles en algo legible y volcar el resultado en a
DIV
. Eso te dirá lo que tu navegador quiere.fuente
Tengo un área de texto con ID es #infoartist seguir:
En el código de JavaScript, obtendré el valor de textarea y reemplazaré la nueva línea de escape (\ n \ r) por
<br />
etiqueta, como:Entonces, si está utilizando jquery (como yo):
Espero que te haya ayudado. :-)
fuente
Si solo necesita enviar el valor de testarea al servidor con saltos de línea, use nl2br
fuente
Aquí está lo que hice por el mismo problema que tuve.
cuando paso el texto a la página siguiente en jsp, lo estoy leyendo como un área de texto en lugar de leer algo como
así que la salida llegó como querías. y para otras propiedades, puede usar lo siguiente.
fuente