Je dois être capable de rendre certaines balises HTML à l'intérieur d'une zone de texte (à savoir <strong>, <i>, <u>, <a>) mais les zones de texte n'interprètent leur contenu que comme du texte. Existe-t-il un moyen simple de le faire sans compter sur des bibliothèques / plugins externes (j'utilise jQuery)? Sinon, connaissez-vous un plugin jQuery que je pourrais utiliser pour faire cela?
javascript
jquery
html
textarea
Le moine codant
la source
la source
Réponses:
Cela n'est pas possible avec un fichier
textarea
. Ce que vous recherchez, c'est une div modifiable de contenu , ce qui se fait très facilement:jsFiddle
la source
contenteditable
est un attribut énuméré plutôt qu'un attribut booléen (il y a uninherit
état ainsi quetrue
etfalse
), et je pense que cela signifie que la spécification d'une valeur est obligatoire, bien que je ne puisse pas trouver un bit définitif de la spécification pour le confirmer. MDN semble cependant être d'accord .contenteditable
sans valeur comme étant le même quecontenteditable=""
, ce qui à son tour est le même quecontenteditable="true"
.textarea
. Taper<strong>someting</strong>
dans le violon vous laisse avec ce texte exact. Le HTML n'est pas appliqué.Avec un div modifiable, vous pouvez utiliser la méthode
document.execCommand
( plus de détails ) pour fournir facilement la prise en charge des balises que vous avez spécifiées et pour certaines autres fonctionnalités.la source
Puisque vous avez seulement dit rendre, oui vous pouvez. Vous pouvez faire quelque chose du genre:
textarea
rendu html! Outre le clignotement lors du redimensionnement, l'impossibilité d'utiliser directement les classes et le fait de devoir s'assurer que le div dans lesvg
a le même format que celuitextarea
du curseur pour s'aligner correctement, ça marche!la source
Un addendum à cela. Vous pouvez utiliser des entités de caractère (comme changer
<div>
en<div>
) et elles seront rendues dans la zone de texte. Mais lorsqu'il est enregistré, la valeur de la zone de texte est le texte tel qu'il est rendu . Vous n'avez donc pas besoin de désencoder. Je viens de tester cela sur les navigateurs (c'est-à-dire retour à 11).la source
<textarea> check for url <B>http://localhost/Dashboard.aspx</B> <BR> Tool Started at <B>11/10/2015 3:56:58 AM</B> <BR> .... </textarea>
ne s'affiche pas au format HTML. Je suis sur Chrome 46.J'ai le même problème mais à l'envers, et la solution suivante. Je veux mettre le html d'un div dans une zone de texte (pour pouvoir modifier certaines réactions sur mon site Web; je veux avoir la zone de texte au même endroit.)
Pour mettre le contenu de ce div dans une zone de texte, j'utilise:
la source
essayez cet exemple
la source
Ceci est possible avec
<textarea>
la seule chose que vous devez faire est d'utiliser l' éditeur Summernote WYSIWYGil interprète les balises HTML dans une zone de texte ( à savoir
<strong>
,<i>
,<u>
,<a>
)la source