Html 在 <textarea> 中格式化文本?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/12831101/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Format text in a <textarea>?
提问by Don P
Textareas are great because of some built in functionality (scrollbars). How can I format <spans>
of text inside of the <textarea>
?
由于一些内置功能(滚动条),Textareas 很棒。我怎样才能格式化<spans>
里面的文本<textarea>
?
回答by Alcides Queiroz Aguiar
If you need to customize your textarea, reproduce its behavior using another element (like a DIV) with the contenteditable
attribute.
如果您需要自定义您的 textarea,请使用具有该contenteditable
属性的另一个元素(如 DIV)重现其行为。
It's more customizable, and a more modern approach, textarea is just for plain text content, not for rich content.
它更具可定制性,也是一种更现代的方法,textarea 仅适用于纯文本内容,不适用于丰富的内容。
<div id='fake_textarea' contenteditable></div>
The scrollbars can be reproduced with the CSS overflow property.
滚动条可以使用 CSS 溢出属性重现。
You can use this fake textarea in a form normally, i.e: if you have to submit its content through POST method, you could do something like(with jQuery):
您可以在表单中正常使用这个伪造的 textarea,即:如果您必须通过 POST 方法提交其内容,您可以执行以下操作(使用 jQuery):
<input type='hidden' id='fake_textarea_content' name='foobar' />
...
...
$('#your_form').submit(function()
{
$('#fake_textarea_content').val($('#fake_textarea').html());
});
回答by Deep
You Can't style the content of a text area separately, you have to use <div>
s, or something similar.
您不能单独设置文本区域的内容样式,您必须使用<div>
s 或类似的东西。
Do you Want Something like this:?
你想要这样的东西:?
http://jsfiddle.net/mekwall/XNkDx/
http://jsfiddle.net/mekwall/XNkDx/
$('.editable').each(function(){
this.contentEditable = true;
});
This allows you to edit the content of a div, and it will still look like a textarea,
这允许你编辑一个 div 的内容,它仍然看起来像一个 textarea,
Bold will now Work.
Bold 现在可以工作了。
回答by Marat Tanalin
You cannot use HTML inside TEXTAREA
.
你不能在里面使用 HTML TEXTAREA
。
Scrolling can be applied to any element by adding overflow: auto
and fixed width
and/or height
.
通过添加overflow: auto
和固定width
和/或 ,可以将滚动应用于任何元素height
。
回答by kaustubh
You can user html editors for web like CKEditor to be able to format the data in text area. Check this http://ckeditor.com/
您可以使用像 CKEditor 这样的 web html 编辑器来格式化文本区域中的数据。检查这个http://ckeditor.com/
回答by Christian
Another way to submit the "fake" text area is including the following lines inside the form tag
提交“假”文本区域的另一种方法是在表单标签中包含以下几行
<form onsubmit=" $('#fake_textarea_content').val($('#fake_textarea').html());">
</form>