Die .val() eine textarea nicht nehmen, die neuen Linien in Betracht
Den .val()
- Eigenschaft eines Elements in jQuery für ein <textarea>
scheint nicht zu funktionieren mit den neuen Linien. Ich brauche diese Funktion wie in dem text-Bereich gemeint ist, zu erkennen, die enter-Taste, und zeigen Sie Sie als eine Vorschau, mit der neuen Linie in Takt.
Jedoch, was passiert ist in dieser Geige: http://jsfiddle.net/GbjTy/1/. Der text wird angezeigt, aber nicht in eine neue Zeile.
Wie kann ich erreichen, dass die Vorschau beinhalten neue Zeilen, und ich weiß, dass es möglich ist, denn es tut dies in der Stack-Overflow-Post-Frage-Vorschau.
Dank.
P. S ich habe gesehen, andere verbindungen auf, SO dass in Bezug auf diese, aber Sie alle sagen, Holen Sie sich die Endbenutzer verwendet einige Codes, die nicht eine ideale Methode für mich. Wie kann ich das erreichen, ohne dass der Endnutzer das schreiben von spezifischen code, wie hier SO Frage, Vorschau, wo die Eingabe funktioniert wie es sollte in der Vorschau.
InformationsquelleAutor H Bellamy | 2011-12-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es ein CSS-problem, nicht ein JavaScript-problem. HTML zusammenbricht Leerraum standardmäßig — dies beinhaltet das ignorieren von Zeilenumbrüchen.
Hinzufügen
white-space: pre-wrap
auf den Ausgang div. http://jsfiddle.net/mattball/5wdzH/Unterstützt wird dies in allen modernen Browsern: https://caniuse.com/#feat=css3-tabsize
<div>
zu einem<pre>
wenn Sie nicht wollen, um den Einsatz von CSS.InformationsquelleAutor Matt Ball
Den gezwungen, neue Linien in Texteingabefelder sind
\n
s, andere HTML-tags als textarea ignorieren diese. Verwenden Sie<br />
zu zwingen, neue Linien auf die Elemente.Ich schlage vor, Sie verwenden JavaScript, um das zu beheben, anstatt CSS, wie Sie bereits verlassen sich auf JavaScript.
Finden Sie die aktualisierte version hier: http://jsfiddle.net/GbjTy/2/
InformationsquelleAutor js-coder
Probieren Sie etwas wie dieses:
In HTML, Leerzeichen, wird standardmäßig ignoriert.
Könnte man auch ändern Sie Ihre
<div>
tag in eine<pre>
tag:Und das würde auch funktionieren.
InformationsquelleAutor Mike Christensen
Ersetzen Sie das neue-Zeile-Zeichen mit
<br>
- tags für die HTML-Ausgabe.Hier ist eine demo: http://jsfiddle.net/GbjTy/3/
InformationsquelleAutor Jasper
Ihre Zeilenumbrüche die Ausgabe perfekt, aber HTML ignoriert Zeilenumbrüche: es muss
<br>
.Verwenden ein einfaches newline-zu-br-Funktion, etwa so:
jsfiddle hier: http://jsfiddle.net/r5KPe/
Code von hier: http://bytes.com/topic/javascript/answers/150396-replace-all-newlines-br-tags
InformationsquelleAutor Nanne
In dem Fall, dass
NICHT angezeigt .val() die textarea in eine andere Seite (zum Beispiel submit-Formular-Servlet-und vorwärts zu einer anderen JSP).
mithilfe der .val() die textarea-Komponente als Teil einer URL-Kodierung (z.B. ein mailto: mit Körper als textarea-Inhalt) in Javascript/JQuery
dann müssen Sie, um URLEncode die textarea-Beschreibung wie folgt :
InformationsquelleAutor RuntimeException
Gibt es eine einfache Lösung: stellen Sie den Behälter mit pre-tag.
InformationsquelleAutor Sanjib Debnath
PHP-Handbuch-link
InformationsquelleAutor crazyivan
Ich gefunden habe, ein mehr bequeme Methode der Verwendung von jquery.
samplecode
HTML
JS
InformationsquelleAutor Nithin Chandran
Hatte ich versucht, die textarea-Wert mit jquery in laravel blade Vorlage, aber der code war zu brechen, weil die variable hatte, neue Zeilen in es.
meinem code-snippet, das war
Ich mein problem gelöst, indem Sie meinen code-snippet wie folgt Aussehen.
ob jemand von Euch vor diesem problem nehmen kann, profitiert.
InformationsquelleAutor Sunil Kumar