Estou editando um <textarea>
com JavaScript. O problema é que, quando eu faço quebras de linha, elas não são exibidas. Como posso fazer isso?
Estou recebendo o valor para escrever uma função, mas não dará quebras de linha.
javascript
html
textarea
line-breaks
djairo
fonte
fonte
<pre></pre>
soluções expostas aqui: codepen.io/a-guerrero/pen/grgVBoRespostas:
O problema vem do fato de que quebras de linha (
\n\r
?) Não são iguais às<br/>
tags HTMLATUALIZAR
Como muitos comentários e minha própria experiência me mostraram que esta
<br>
solução não está funcionando conforme o esperado, aqui está um exemplo de como acrescentar uma nova linha a umtextarea
\ 'r \ n' usandoDecidi fazer isso como uma edição, e não como uma nova pergunta, porque essa é uma resposta muito popular para estar errada ou incompleta.
fonte
/(\r\n|\n|\r)/gm
textfixer.com/tutorials/javascript-line-breaks.php/\r\n?|\n/g
sem captura, sem multilinha.<br>
está errado. Para uma quebra de linha universal em uma área de texto que você deseja\r\n
. Por exemplo, o navegador UC ignora <br> e \ n em áreas de texto. Consulte Adicionar uma quebra de linha em uma área de texto HTML .se você usar o script java geral e precisar atribuir string ao valor da área de texto,
você precisa substituir
\n
ou< br >
a\\\n
caso contrário, ele fornece
Uncaught SyntaxError: Unexpected token ILLEGAL
em todos os navegadores.fonte
Talvez alguém ache isso útil:
Eu tive um problema com quebras de linha que foram passadas da variável do servidor para a variável javascript e, em seguida, o javascript as gravou na área de texto (usando as associações de valor knockout.js).
a solução estava escapando duas vezes de novas linhas:
no lado do servidor, porque com apenas um caractere de escape o javascript não estava analisando.
fonte
Você precisa usar
\n
paralinebreaks
dentrotextarea
fonte
Se você deseja exibir texto dentro de sua própria página, pode usar a
<pre>
tag.fonte
Uma nova linha é apenas um espaço em branco no navegador e não será tratada de maneira diferente de um espaço normal (""). Para obter uma nova linha, você deve inserir
<BR />
elementos.Outra tentativa de resolver o problema: Digite o texto na área de texto e adicione algum JavaScript atrás de um botão para converter os caracteres invisíveis em algo legível e despejar o resultado em a
DIV
. Isso informará o que seu navegador deseja.fonte
Eu tenho uma área de texto com id é #infoartist follow:
No código javascript, vou obter o valor da área de texto e substituir a nova linha de escape (\ n \ r) pela
<br />
tag, como:Então, se você estiver usando jquery (como eu):
Espero que tenha ajudado. :-)
fonte
Se você apenas precisar enviar o valor da testarea para o servidor com quebras de linha, use nl2br
fonte
Aqui está o que eu fiz pelo mesmo problema que tive.
quando estou passando o texto para a próxima página no jsp, estou lendo como uma área de texto em vez de ler algo como
então a saída veio como você queria. e para outras propriedades, você pode usar como abaixo.
fonte