Ich bearbeite ein <textarea>
mit JavaScript. Das Problem ist, dass wenn ich Zeilenumbrüche mache, diese nicht angezeigt werden. Wie kann ich das machen?
Ich erhalte den Wert zum Schreiben einer Funktion, aber es werden keine Zeilenumbrüche ausgegeben.
javascript
html
textarea
line-breaks
Djairo
quelle
quelle
<pre></pre>
Lösungen, die hier vorgestellt werden: codepen.io/a-guerrero/pen/grgVBoAntworten:
Das Problem ergibt sich aus der Tatsache, dass Zeilenumbrüche (
\n\r
?) Nicht mit HTML-<br/>
Tags identisch sindAKTUALISIEREN
Da viele der Kommentare und meine eigenen Erfahrungen gezeigt haben, dass diese
<br>
Lösung nicht wie erwartet funktioniert, ist hier ein Beispiel dafür, wie eine neue Zeile an einetextarea
Verwendung von '\ r \ n' angehängt wird.Ich habe beschlossen, dies zu bearbeiten und nicht als neue Frage, da dies eine viel zu beliebte Antwort ist, um falsch oder unvollständig zu sein.
quelle
/(\r\n|\n|\r)/gm
textfixer.com/tutorials/javascript-line-breaks.php/\r\n?|\n/g
ohne Erfassung, nicht mehrzeilig.<br>
ist falsch. Für einen universellen Zeilenumbruch in einem gewünschten Textbereich\r\n
. Beispielsweise ignoriert der UC-Browser <br> und \ n in Textbereichen. Siehe Hinzufügen eines Zeilenumbruchs in einem HTML-Textbereich .Wenn Sie ein allgemeines Java-Skript verwenden und dem Textbereichswert dann eine Zeichenfolge zuweisen müssen
Sie müssen ersetzen
\n
oder< br >
zu\\\n
Ansonsten gibt es
Uncaught SyntaxError: Unexpected token ILLEGAL
auf allen Browsern.quelle
Vielleicht findet jemand dies nützlich:
Ich hatte ein Problem mit Zeilenumbrüchen, die von der Servervariablen an die Javascript-Variable übergeben wurden, und dann schrieb Javascript sie in den Textbereich (unter Verwendung der Wertebindungen von knockout.js).
Die Lösung bestand darin, neuen Zeilen doppelt zu entkommen:
auf der Serverseite, weil mit nur einzelnen Escape-Zeichen Javascript nicht analysiert wurde.
quelle
Sie müssen
\n
fürlinebreaks
innen verwendentextarea
quelle
Wenn Sie Text auf Ihrer eigenen Seite anzeigen möchten, können Sie das
<pre>
Tag verwenden.quelle
Eine neue Zeile ist nur ein Leerzeichen für den Browser und wird nicht anders behandelt als ein normales Leerzeichen (""). Um eine neue Zeile zu erhalten, müssen Sie
<BR />
Elemente einfügen .Ein weiterer Versuch, das Problem zu lösen: Geben Sie den Text in das Textfeld ein und fügen Sie dann JavaScript hinter einer Schaltfläche hinzu, um die unsichtbaren Zeichen in etwas Lesbares umzuwandeln und das Ergebnis in a zu speichern
DIV
. Das sagt Ihnen, was Ihr Browser will.quelle
Ich habe einen Textbereich mit der ID #infoartist folgen:
Im Javascript-Code erhalte ich den Wert des Textbereichs und ersetze die neue Zeile (\ n \ r) durch ein
<br />
Tag, wie z.Wenn Sie also jquery verwenden (wie ich):
Hoffe es hat dir geholfen. :-)
quelle
Wenn Sie nur den Wert des Testbereichs mit Zeilenumbrüchen an den Server senden müssen, verwenden Sie nl2br
quelle
Hier ist das, was ich für die gleichen Probleme getan habe, die ich hatte.
Wenn ich den Text in jsp an die nächste Seite weitergebe, lese ich ihn als Textbereich, anstatt so etwas zu lesen
Die Ausgabe kam also so, wie Sie es wollten. und für andere Eigenschaften können Sie wie folgt verwenden.
quelle