
Одним из нововведений HTML5 стала возможность редактировать часть страницы прямо в браузере. Эта фича получила название content editable. Она работает во всех современных браузерах. Чтобы сделать часть страницы редактируемой, нужно поставить тегу атрибут
contenteditable="true". Под тегом может стоять практически всё: текст с форматированием, картинки, списки и даже flash-ролики. Но пользователь может добавлять толко текст, остольное он может только удалять. В этом посте я покажу пример использования content editable на веб-сайте.HTML-код
<!DOCTYPE HTML> <html> <head> <title>Редактируемый список в HTML5</title> <script type="text/javascript">
В функции
buttonClick() обрабатывается нажатие на кнопку «Сохранить» («Редактировать»): меняется атрибут contentEditable, надпись на кнопке и содержимое cписка копируется в текстовое поле.function buttonClick () { var div = document.getElementById ("myDiv"); var button = document.getElementById ("myButton"); var content_div = document.getElementById ("ListContent"); var textarea = document.getElementById ("myTextarea"); if (div.contentEditable == "true") { div.contentEditable = "false"; content_div.style.display = "inline"; textarea.innerHTML = div.innerHTML; button.value = "Редактировать"; } else { div.contentEditable = "true"; content_div.style.display = "none"; button.value = "Сохранить"; } } </script> </head> <body> <b>Что нужно сделать?</b> (список можно редактировать)
Редактируемый
div. Обратите в нимание на contenteditable="true".<div id="myDiv" contenteditable="true"> <ul id="todolist"> <li>Купить молоко</li> <li>Купить яйца</li> <li>Починить дверь</li> <li>Отредактировать список!</li> </ul> </div>
Кнопка «Сохранить» («Редактировать»). По нажатию вызывается функция
buttonClick().<input type="button" id="myButton" onclick="buttonClick();" value="Сохранить"> <br><br>
Текстовое поле, в котором по нажатию кнопки «Сохранить» отображается содержимое списка.
<div id="ListContent" style="display: none;"> Что в списке:<br> <textarea rows="10" cols="70" id="myTextarea"> </textarea> </div> </body> </html>
Посмотреть живой пример можно здесь.
Cкачать архив с кодом тут.
P.S. скоро напишу, как сделать полностью редактируемым из браузера сайт с помощью
contenteditable.