Contenteditable — редактирование контента «на лету». Урок 3

Contenteditable — редактирование контента на лету

От автора: в этом уроке мы вернемся к урокам по работе с атрибутом HTML5 contenteditable. Ранее мы с вами реализовали задачу сохранения значения редактируемого поля. Однако, в примере мы с вами работали только с одним полем таблицы. В комментариях на сайте и форуме вы спрашивали, как можно работать с несколькими полями таблицы. В этом уроке вы найдете ответ на данный вопрос.

скачать исходникискачать урок

Напомню, у нас есть таблица опций, в которой мы редактируем поле значения опции. Давайте дадим возможность редактировать дополнительно название опции. Для этого добавим этому полю атрибут contenteditable:

Таким образом, у нас появилось два редактируемых поля. Заметьте, что к каждому из полей мы добавили дополнительный атрибут data-name со своим значением: name и value. Именно благодаря этому значению мы и узнаем, что именно пользователь собрался редактировать: название опции или ее значение. Как вы уже догадались, значения атрибута data-name совпадают с названиями полей таблицы options в БД.

Теперь в файле scripts.js получим название поля, которое редактируется, и отправим его на сервер. Для этого используем переменную field. Итоговый код файла будет таким:

Ну и последним шагом осталась серверная работа. Мы должны принять новое значение (название поля) и обязательно проверить, есть ли у нас такое поле в таблице БД. Для этого мы создадим массив $fields, в котором перечислим редактируемые поля. Далее просто проверим, если полученное от клиента название поля есть в массиве $fields, тогда мы продолжим работу, в противном случае – остановим работу скрипта. Итоговый код функции update_option() будет следующим:

Вот, собственно, и все решение. Как видим, все довольно просто. Удачи и до новых встреч!

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии (2)