J'édite un <textarea>
avec JavaScript. Le problème est que lorsque j'y fais des sauts de ligne, ils ne s'affichent pas. Comment puis-je faire ceci?
J'obtiens la valeur pour écrire une fonction, mais cela ne donnera pas de sauts de ligne.
javascript
html
textarea
line-breaks
Djairo
la source
la source
<pre></pre>
solutions exposées ici: codepen.io/a-guerrero/pen/grgVBoRéponses:
Le problème vient du fait que les sauts de ligne (
\n\r
?) Ne sont pas les mêmes que les<br/>
balises HTMLMETTRE À JOUR
Étant donné que de nombreux commentaires et ma propre expérience m'ont montré que cette
<br>
solution ne fonctionne pas comme prévu, voici un exemple de la façon d'ajouter une nouvelle ligne à unetextarea
utilisation de '\ r \ n'J'ai décidé de faire une modification, et non comme une nouvelle question car c'est une réponse beaucoup trop populaire pour être fausse ou incomplète.
la source
/(\r\n|\n|\r)/gm
textfixer.com/tutorials/javascript-line-breaks.php/\r\n?|\n/g
sans capture, sans multiligne.<br>
tort. Pour un saut de ligne universel dans une zone de texte souhaitée\r\n
. Par exemple, UC Browser ignore <br> et \ n dans les zones de texte. Voir Ajouter un saut de ligne dans une zone de texte HTML .si vous utilisez un script java général et que vous devez attribuer une chaîne à la valeur de la zone de texte, alors
vous devez remplacer
\n
ou< br >
à\\\n
sinon ça donne
Uncaught SyntaxError: Unexpected token ILLEGAL
sur tous les navigateurs.la source
Peut-être que quelqu'un trouvera cela utile:
J'ai eu un problème avec les sauts de ligne qui étaient passés de la variable serveur à la variable javascript, puis javascript les écrivait dans textarea (en utilisant des liaisons de valeur knockout.js).
la solution était de doubler les nouvelles lignes:
côté serveur, car avec un seul caractère d'échappement, javascript n'était pas analysé.
la source
Vous devez utiliser
\n
pour l'linebreaks
intérieurtextarea
la source
Si vous souhaitez afficher du texte dans votre propre page, vous pouvez utiliser la
<pre>
balise.la source
Une nouvelle ligne est juste un espace pour le navigateur et ne sera pas traitée différemment d'un espace normal (""). Pour obtenir une nouvelle ligne, vous devez insérer des
<BR />
éléments.Une autre tentative pour résoudre le problème: tapez le texte dans la zone de texte, puis ajoutez du JavaScript derrière un bouton pour convertir les caractères invisibles en quelque chose de lisible et vider le résultat dans un fichier
DIV
. Cela vous dira ce que veut votre navigateur.la source
J'ai un textarea avec id est #infoartist follow:
Dans le code javascript, j'obtiendrai la valeur de textarea et remplacerai la nouvelle ligne d'échappement (\ n \ r) par une
<br />
balise, telle que:Donc, si vous utilisez jquery (comme moi):
J'espère que cela vous a aidé. :-)
la source
Si vous avez juste besoin d'envoyer la valeur de la zone de test au serveur avec des sauts de ligne, utilisez nl2br
la source
voici ce que j'ai fait pour le même problème que j'ai eu.
quand je passe le texte à la page suivante dans jsp, je le lis comme une zone de texte au lieu de lire quelque chose comme
donc la sortie est venue comme vous le vouliez. et pour d'autres propriétés, vous pouvez utiliser comme ci-dessous.
la source