wake-up-neo.net

Text in einem <Textbereich> formatieren?

Textbereiche sind aufgrund einiger eingebauter Funktionen (Bildlaufleisten) hervorragend. Wie kann ich <spans> von Text innerhalb von <textarea> formatieren?

32
Don P

Wenn Sie Ihr Textfeld anpassen müssen, reproduzieren Sie sein Verhalten mithilfe eines anderen Elements (z. B. eines DIV) mit dem Attribut contenteditable.

Es ist anpassbarer und ein moderner Ansatz. Textarea ist nur für Nur-Text-Inhalte gedacht, nicht für umfangreiche Inhalte.

<div id='fake_textarea' contenteditable></div>

Die Bildlaufleisten können mit der CSS-Überlaufeigenschaft reproduziert werden.

Sie können dieses gefälschte Textfeld normalerweise in einer Form verwenden, d. H .: Wenn Sie den Inhalt mit der POST -Methode übermitteln müssen, können Sie Folgendes tun (mit jQuery):

<input type='hidden' id='fake_textarea_content' name='foobar' />

...

$('#your_form').submit(function()
{
  $('#fake_textarea_content').val($('#fake_textarea').html());
});

Sie können den Inhalt eines Textbereichs nicht separat formatieren, Sie müssen s oder ähnliches verwenden. 

Willst du etwas wie das :?

http://jsfiddle.net/mekwall/XNkDx/

$('.editable').each(function(){
    this.contentEditable = true;
});

Dadurch können Sie den Inhalt eines Div bearbeiten und es sieht immer noch aus wie ein Textbereich.

Fett wird jetzt funktionieren.

8
Deep

Sie können HTML nicht in TEXTAREA verwenden.

Das Scrollen kann auf jedes Element angewendet werden, indem overflow: auto und feste width und/oder height hinzugefügt werden.

4
Marat Tanalin

Sie können HTML-Editoren für das Web wie CKEditor verwenden, um die Daten im Textbereich formatieren zu können. Überprüfen Sie dies http://ckeditor.com/

1
kaustubh

Eine andere Möglichkeit, den "gefälschten" Textbereich zu übermitteln, besteht darin, die folgenden Zeilen in das Formular-Tag aufzunehmen

<form onsubmit=" $('#fake_textarea_content').val($('#fake_textarea').html());">
</form>
0
Christian