Necesito poder representar algunas etiquetas HTML dentro de un área de texto (es decir, <strong>, <i>, <u>, <a>) pero las áreas de texto solo interpretan su contenido como texto. ¿Hay una manera fácil de hacerlo sin depender de bibliotecas / complementos externos (estoy usando jQuery)? Si no, ¿conoce algún complemento jQuery que pueda usar para hacer esto?
javascript
jquery
html
textarea
El monje codificador
fuente
fuente
Respuestas:
Esto no es posible hacer con a
textarea
. Lo que está buscando es un contenido editable div, que se hace muy fácilmente:jsFiddle
fuente
contenteditable
es un atributo enumerado en lugar de un atributo booleano (hay uninherit
estado así comotrue
yfalse
), y creo que eso significa que especificar un valor es obligatorio, aunque no puedo encontrar un bit definitivo de la especificación para confirmar esto. MDN parece estar de acuerdo sin embargo.contenteditable
sin valor que es el mismocontenteditable=""
, que a su vez es el mismocontenteditable="true"
.textarea
. Escribir<strong>someting</strong>
en el violín te deja con ese texto exacto. El HTML no se aplica.Con un div editable, puede usar el método
document.execCommand
( más detalles ) para proporcionar fácilmente el soporte para las etiquetas que especificó y para alguna otra funcionalidad.fuente
Como solo dijiste render, sí puedes. Podrías hacer algo en este sentido:
textarea
renderice html! Además del parpadeo al cambiar el tamaño, la incapacidad de usar clases directamente y tener que asegurarse de que el div en elsvg
tiene el mismo formato que eltextarea
del cursor para alinearse correctamente, ¡funciona!fuente
Una adición a esto. Puede usar entidades de caracteres (como cambiar
<div>
a<div>
) y se representará en el área de texto. Pero cuando se guarda, el valor del área de texto es el texto tal como se representa . Por lo tanto, no necesita descodificar. Acabo de probar esto en los navegadores (es decir, volver a 11).fuente
<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>
no se muestra como HTML. Estoy en Chrome 46.Tengo el mismo problema pero a la inversa, y la siguiente solución. Quiero poner html desde un div en un área de texto (para poder editar algunas reacciones en mi sitio web; quiero tener el área de texto en la misma ubicación).
Para poner el contenido de este div en un área de texto que uso:
fuente
prueba este ejemplo
fuente
Esto es posible con
<textarea>
lo único que debe hacer es usar el editor WYSIWYG de Summernoteinterpreta etiquetas HTML dentro de un área de texto (es decir
<strong>
,<i>
,<u>
,<a>
)fuente