2011-10-16 234 views
5

我有代碼可以讓你使用粗體,下劃線,刪除或斜體來格式化textarea中的文本。但它顯示的是html標籤,而不是實際格式化它。我知道一旦我在div裏面輸出它,它就會被格式化,但我想在用戶寫文本時顯示格式。如何在textarea中顯示HTML格式?

如何啓用格式化? JavaScript很好,我現在正在使用JQuery。如果還有其他選擇,我寧願不使用WYSIWYG編輯器。

感謝您的任何幫助。

回答

0

我相信這是唯一可能通過使用一些div或其他可修改的HTML元素,而不是你的textarea。使用Javascript,您可以添加textarea的功能。

如何在SO上使用這樣的格式化系統?在我看來,它比僞WYSIWYG更優雅。

0

不能在Textarea內部完成,你將不得不去做一個wysiwyg編輯器或類似的東西。這很容易讓你自己做出一個。 這是一個很好的教程:

Devgurus wysiwyg tutorial

14

div元素

<div contentEditable="true"> 
</div 

這樣你就可以在任何需要的方式格式化您的輸入使用上CONTENTEDITABLE屬性,只是不要忘了正確轉義數據。

+0

這僅適用於支持HTML5的瀏覽器,它似乎是合理的,但不會解決跨瀏覽器的可靠性問題。 – MacMac

+3

@lolwut:'contentEditable'在所有主要(桌面)瀏覽器中都支持[相當長時間](http://caniuse.com/contenteditable)。 – You

2

只是一個想法;如果你只是想讓用戶看到他們的反應是什麼樣的,你可以從這個網站上得到一個提示,並在評論框上方/下方有一個「預覽」div。您可以使用onKeyUp將代碼放入div中,以便在用戶輸入時保持日期。這並不完美,但如果你不想使用WYSIWYG,它可能會像你想要的那樣好。

這就是說,contentEditable +所見即所得選項可能更友好,更簡單,恕我直言。

相關問題