sola - JavaScript: ¿Cómo agregar saltos de línea a un área de texto HTML?
salto de linea html (8)
Debes usar /n
para los linebreaks
dentro de textarea
Estoy editando un área de texto con JavaScript. El problema es que cuando hago saltos de línea, no se mostrarán. ¿Cómo puedo hacer esto?
Obtengo el valor para escribir una función, pero no dará saltos de línea.
Quizás alguien encuentre esto útil:
Tuve un problema con los saltos de línea que se pasaron de la variable del servidor a la variable de JavaScript, y luego javascript los escribía en textarea (usando enlaces de valor de knockout.js).
la solución fue doble escapando nuevas líneas:
orginal.Replace("/r/n", "//r//n")
en el lado del servidor, porque con solo caracteres de escape, javascript no estaba analizando.
Si solo necesita enviar el valor de la testarea al servidor con saltos de línea use nl2br
Tengo un área de texto con id es #infoartist follow:
<textarea id="infoartist" ng-show="dForm" style="width: 100%;" placeholder="Tell your contacts and collectors about yourself."></textarea>
En el código de javascript, obtendré el valor de textarea y reemplazaré la nueva etiqueta de escape (/ n / r) por <br />
, como:
var text = document.getElementById("infoartist").value;
text = text.replace(//r?/n/g, ''<br />'');
Entonces, si estás usando jquery (como yo):
var text = $("#infoartist").val();
text = text.replace(//r?/n/g, ''<br />'');
Espero que te haya ayudado. :-)
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 elementos <BR />
.
Otro intento de resolver el problema: escriba el texto en el área de texto y luego agregue JavaScript detrás de un botón para convertir los caracteres invisibles a algo legible y volcar el resultado en un DIV
. Eso le dirá lo que quiere su navegador.
aquí está lo que hice por el mismo problema que tuve.
cuando estoy pasando el texto a la página siguiente en jsp, lo estoy leyendo como un área de texto en lugar de leer algo así como
por lo que la salida llegó como querías. y para otras propiedades, puede usar de la siguiente manera.
<textarea style="background-color: white; border: none; width:660px;font-family: Arial, Helvetica, sans-serif; font-size:1.0em; resize:none;" name="text" cols="75" rows="15" readonly="readonly" ><s:property value="%{text}"/></textarea>
si usa un script java general y necesita asignar una cadena al valor del área de texto, entonces
document.getElementById("textareaid").value=''texthere///ntexttext''.
necesita reemplazar /n
o <br> a ///n
de lo contrario, otorga a Uncaught SyntaxError: Unexpected token ILLEGAL
en todos los navegadores.
El problema proviene del hecho de que los saltos de línea ( /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 />'');