JavaScript: come aggiungere interruzioni di riga a un’area di testo HTML?

Sto modificando una textarea con JavaScript. Il problema è che quando faccio delle interruzioni di linea, non verranno visualizzate. Come posso fare questo?

Sto ottenendo il valore per scrivere una funzione, ma non darà interruzioni di riga.

Il problema deriva dal fatto che le interruzioni di riga ( \n\r ?) Non corrispondono ai tag HTML

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

se usi lo script java generale e devi assegnare una stringa al valore dell’area testo allora

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

è necessario sostituire \n o < br > in \\\n

altrimenti fornisce Uncaught SyntaxError: Unexpected token ILLEGAL su tutti i browser.

Forse qualcuno lo trova utile:

Ho avuto problemi con interruzioni di riga che sono state passate dalla variabile del server alla variabile javascript, e quindi javascript le stava scrivendo in textarea (usando i binding del valore knockout.js).

la soluzione era la duplicazione di nuove linee:

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

sul lato server, perché con un solo escape code javascript non stava analizzando.

È necessario utilizzare \n per linebreaks di linebreaks all’interno textarea

Una nuova riga è solo uno spazio bianco nel browser e non sarà trattata in modo diverso da uno spazio normale (“”). Per ottenere una nuova riga, è necessario inserire
elementi
.

Un altro tentativo di risolvere il problema: digitare il testo nella textarea e quindi aggiungere qualche JavaScript dietro un pulsante per convertire i caratteri invisibili in qualcosa di leggibile e scaricare il risultato in un DIV . Questo ti dirà cosa vuole il tuo browser.

Ho una textarea con ID # segue:

  

Nel codice javascript, otterrò il valore di textarea e sostituirò la nuova riga di escape (\ n \ r) con il tag
, come ad esempio:

 var text = document.getElementById("infoartist").value; text = text.replace(/\r?\n/g, '
');

Quindi se stai usando jquery (come me):

 var text = $("#infoartist").val(); text = text.replace(/\r?\n/g, '
');

Spero ti abbia aiutato. 🙂

Se vuoi visualizzare del testo all’interno della tua pagina, puoi usare il tag


.

 document.querySelector('textarea').addEventListener('keyup', function() { document.querySelector('pre').innerText = this.value; }); 
  
 The new line will be respected 

Se hai solo bisogno di inviare il valore del testarea al server con interruzioni di riga usa nl2br

ecco la cosa che ho fatto per lo stesso problema che ho avuto.

quando sto passando il testo alla pagina successiva in jsp, lo sto leggendo come una textarea invece di leggere qualcosa del genere

quindi l’output è venuto come volevi. e per altre proprietà, è ansible utilizzare come di seguito.