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)
- true - element jest edytowalny (to samo co użycie
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>
.