L' .val() d'un textarea ne pas prendre de nouvelles lignes en compte
La .val()
propriété d'un élément dans jQuery pour un <textarea>
ne semble pas fonctionner avec de nouvelles lignes. J'ai besoin de cette fonction que le texte de la zone est destinée à reconnaître la touche entrée et l'afficher comme un aperçu, avec la nouvelle ligne de tact.
Cependant, ce qui se passe est indiqué dans ce violon: http://jsfiddle.net/GbjTy/1/. Le texte est affiché, mais pas dans une nouvelle ligne.
Comment puis-je obtenir l'aperçu d'inclure de nouvelles lignes, et je sais que c'est possible, parce qu'il le fait dans le Débordement de la Pile Post Question aperçu.
Grâce.
P. S j'ai vu d'autres liens sur DONC s'y rapportant, mais ils disent tous obtenez de l'Utilisateur Final à utiliser un peu de code, ce qui n'est pas une méthode idéale pour moi. Comment puis-je obtenir ce sans que l'Utilisateur d'écrire n'importe quel code spécifique, comme ici, DONC, la Question Aperçu, où l'Entrée fonctionne comme il se doit dans l'aperçu.
OriginalL'auteur H Bellamy | 2011-12-12
Vous devez vous connecter pour publier un commentaire.
C'est un problème de CSS, pas un JavaScript problème. HTML s'effondre espace blanc par défaut — ce qui inclut en ignorant les retours à la ligne.
Ajouter
white-space: pre-wrap
à la sortie de la div. http://jsfiddle.net/mattball/5wdzH/C'est pris en charge dans tous les navigateurs modernes: https://caniuse.com/#feat=css3-tabsize
<div>
à un<pre>
si vous ne voulez pas utiliser les CSS.OriginalL'auteur Matt Ball
L'forcé de nouvelles lignes dans ces zones de texte sont
\n
s, d'autres balises HTML que le textarea ignore ces. Vous devez utiliser<br />
à force de nouvelles lignes à ces éléments.Je vous suggère d'utiliser JavaScript pour corriger plutôt que de CSS comme vous l'avez déjà compter sur le JavaScript.
Vous pouvez trouver la version mise à jour ici: http://jsfiddle.net/GbjTy/2/
OriginalL'auteur js-coder
Essayer quelque chose comme cela:
En HTML, les espaces est ignorée par défaut.
Vous pouvez également changer votre
<div>
tag dans un<pre>
tag:Et qui serait à l'œuvre.
OriginalL'auteur Mike Christensen
Vous devez remplacer les caractères de nouvelle ligne avec
<br>
balises pour une sortie HTML.Voici une démo: http://jsfiddle.net/GbjTy/3/
OriginalL'auteur Jasper
Vos retours à la ligne de sortie parfaitement, mais HTML ignore les sauts de ligne: il doit
<br>
.Utiliser un simple retour à la ligne-pour-br fonction de la façon:
jsfiddle ici: http://jsfiddle.net/r5KPe/
Code à partir d'ici: http://bytes.com/topic/javascript/answers/150396-replace-all-newlines-br-tags
OriginalL'auteur Nanne
Dans le cas que
vous n'êtes PAS d'afficher l' .val() de la textarea dans une autre page (par exemple, soumettre le formulaire de Servlet et de transférer à une autre JSP).
à l'aide de l' .val() de la textarea dans le cadre d'un codage d'URL (par exemple, un mailto: avec corps comme textarea contenu) au sein de Javascript/JQuery
ensuite, vous avez besoin de la fonction URLEncode le textarea description comme suit :
OriginalL'auteur RuntimeException
Il y a une solution simple: rendre le récipient avec pré tag.
OriginalL'auteur Sanjib Debnath
Manuel PHP lien
OriginalL'auteur crazyivan
J'ai trouvé une méthode plus pratique à l'aide de jquery.
samplecode
HTML
JS
OriginalL'auteur Nithin Chandran
J'avais essayé de définir le textarea de la valeur avec jquery dans laravel lame de modèle, mais le code a été la rupture parce que la variable a de nouvelles lignes de.
mon extrait de code a été
J'ai résolu mon problème en changeant mon extrait de code comme ci-dessous.
si vous êtes confrontés à ce problème peut prendre avantage de cela.
OriginalL'auteur Sunil Kumar