Przejdź do treści

HTML5 - HTML

Element edytowalny <... contenteditable>

Jak sprawić, aby zawartość dowolnego elementu HTML na stronie WWW można było edytować?

  • Wersja podstawowa:
    <element contenteditable>...</element>
  • Wersja rozszerzona:
    <element contenteditable="edycja">...</element>
element
Dowolny znacznik HTML 4.01 lub HTML5
edycja
Można podać:
  • true - element jest edytowalny (to samo co użycie contenteditable jako atrybut logiczny - bez podania wartości).
  • false - element nie jest edytowalny.
  • plaintext-only - tylko surowa zawartość tekstowa elementu jest edytowalna, formatowanie tekstu jest wyłączone (Opera 38, Chrome 51)

Podanie wartości contenteditable="true" umożliwia dynamiczną edycję zawartości tak oznaczonego elementu strony. Użytkownik może wpisać np. bezpośrednio w treści akapitu swój własny tekst. Treść taka jednak nie będzie widoczna dla innych użytkowników, odwiedzających tę samą stronę. Nie będzie również możliwości jej zapisania - po odświeżeniu strony wyświetli się ponownie domyślna zawartość dokumentu.

Aby efekty edycji były trwałe, konieczne jest zainstalowanie na serwerze dowolnego Systemu Zarządzania Zawartością - CMS.

W odróżnieniu od zwykłej edycji zawartości elementu TEXTAREA, atrybut contenteditable="true" pozwala wstawiać również sformatowany tekst. Jeśli chcemy tego uniknąć, należy się posłużyć wartością contenteditable="plaintext-only". Zapewnia ona, że w przypadku próby wklejenia tekstu ze schowka systemowego (poprzez skrót klawiaturowy Ctrl+V albo opcję "Wklej" z menu kontekstowego), który zawiera np. pogrubienie, wszelkie formatowanie zostanie wcześniej z niego wyczyszczone (tekst po wklejeniu nie będzie pogrubiony).

Podanie wartości contenteditable="plaintext-only" w przeglądarkach, które jej nie obsługują, może spowodować, że element w ogóle nie będzie edytowalny.

Pytania i odpowiedzi <div contenteditable>

Jak zrobić edytowalny kod HTML?

Aby zrobić edytowalny kod HTML, należy dodać atrybut contenteditable="true" do dowolnego elementu HTML, co sprawi, że użytkownicy będą mogli edytować jego zawartość bezpośrednio na stronie. Na przykład: <div contenteditable="true">Edytowalny tekst</div>. To sprawia, że zawartość tego <div> stanie się edytowalna.

Jaki jest pożytek z contenteditable w HTML?

Atrybut contenteditable w HTML jest użyteczny do tworzenia obszarów na stronie, które użytkownicy mogą edytować bezpośrednio w przeglądarce, co jest przydatne w aplikacjach takich jak edytory tekstu online, pola do szybkiego edytowania treści lub formularze, gdzie użytkownik może wprowadzać dane bez potrzeby dodatkowych pól wejściowych. Przykład: <div contenteditable="true">Edytowalny tekst</div>.

Komentarze

Zobacz więcej komentarzy

Facebook