Редактирование таблицы MySQL: Javascript интерфейс
В предыдущей статье мы рассмотрели предельно простой способ доступа к базе данных MySQL (редактирование таблицы без перезагрузки HTML страницы). Отправка данных на сервер производилась через статический элемент iframe, помещаемый программой рядом с тем местом, куда пользователь щёлкнул мышкой (рядом с редактируемой ячейкой).
Статический iframe был выбран нами в качестве транспорта для того, чтобы пользователь мог видеть реакцию сервера напрямую (удалось ли изменить данные MySQL, или HTTP-сервер вернул ошибку, и какую именно). Программа получилась действительно простой и прозрачной для пользователя. Но простота повлекла за собой и неизбежные недостатки (или просто неосуществлённые возможности):
- История (журнал пользователя в браузере) засоряется «служебными» (невидимыми) обращениями к серверу.
- При перезагрузке страницы браузер задаёт вопрос о повторной отправке данных POST-формы.
- Более естественным редактирование выглядело бы, если бы поле textarea возникало прямо на месте выбранной пользователем ячейки (а не рядом).
- На освободившемся месте (рядом с ячейкой) можно отображать историю изменений текста данной ячейки.
Нетрудно видеть, что последние три пункта к способу транспорта прямого отношения не имеют, однако пресловутое засорение истории (о котором так много говорят любители Ajax’a) всё-таки заставляет делать iframe динамическим. Это значит, мы теряем «естественные» ответы сервера, и сообщать пользователю об успехе (или провале) операции придётся с помощью Javascript.
Рабочий пример получившейся системы можно протестировать на странице http://ir2.ru/static/tableedit2.htm. Функции Javascript, необходимые для работы, разместились в трёх файлах: http://ir2.ru/static/ir2.js (3.5K, общая библиотека), http://ir2.ru/static/tabsort. js (3.5K, сортировщик HTML-таблицы, необязательный элемент), http://ir2.ru/static/tableedit2.js (5.5K, редактор таблицы). На сервере данные, полученные от пользователя, обрабатывает небольшой (1.5K) скрипт http://ir2.ru/static/savecell2.php.
Принципиальная схема табличного редактора
Страница HTML с таблицей для редактирования:
- HTML таблица с данными MySQL рисуется по определённым правилам: а) class таблицы должен быть ‘sortable’; б) в первой строке должны быть наименования полей MySQL; в) в первом столбце должны быть уникальные идентификаторы строк MySQL. Всё это без лишних тэгов, голая структура и содержание.
- В Javascript (при формировании страницы на сервере) передаётся список разрешённых для редактирования полей (переменная validfield). Это не обязательно, но в каких-то случаях (например, в нашем учебном примере) может пригодиться.
- На страницу добавляется два пустых (невидимых) контейнера: div – для динамически создаваемого
- Добавляется форма (невидимая) с основным полем textarea для редактируемых текстов и вспомогательными полями-идентификаторами строк и полей таблицы MySQL.
Вся остальная работа делается Javascript:
- При щелчке (Ctrl+Alt+Click) по ячейке, которую разрешено редактировать, ячейка как бы превращается в поле textarea: поле в форме для редактирования делается видимым и совмещается по координатам top-left (и по размерам) с выбранной ячейкой.
- В поле textarea передаётся текст (innerHTML) редактируемой ячейки.
- Если в этом сеансе работы ячейку уже редактировали, ниже ячейки выводится история изменений.
- Для сохранения изменённого в ячейке (в форме) текста надо произвести то же действие, что и для начала редактирования: Ctrl+Alt+Click. Или Ctrl+Enter. По этому действию пользователя создаётся временный элемент iframe, и через него форма отправляет данные на сервер.
- Для отказа от редактирования нужно нажать
- Если страница, открываемая во временном iframe, недоступна, iframe делается видимым пользователю до тех пор, пока не выскочит сообщение об ошибке связи. Это в ИЕ, который не позволяет получать текст страницы с ошибкой «404». В нормальных браузерах Javascript нормально забирает текст страницы с ошибкой и передаёт в историю изменений ячейки.
- Если со страницей в iframe всё в порядке, она после обработки данных MySQL возвращает Javascript код, который сообщает главной странице о результатах операции по сохранению данных.
- В случае успеха (строка таблицы MySQL была изменена) форма редактирования и контейнер истории исчезают. В случае проблемы в историю изменений добавляется пункт с сообщением «Таблица MySQL не изменилась» и с текстом sql-запроса.
- Добавление новой записи: в HTML таблицу подрисовывается (вверху) строка без идентификатора; тексты ячеек в ней выглядят как наименование поля с добавлением «_новое». При попытке редактировать новую строку ей присваивается идентификатор (реальный id вставленной новой записи в таблицу MySQL), а в HTML таблицу подрисовывается ещё новая строка без идентификатора.
- Строки для добавления новой записи подрисовываются всем HTML таблицам с classname=’sortable’. В данной версии всё равно можно корректно редактировать только одну таблицу – у которой заголовки и идентификаторы совпадают с соответствующими постоянными параметрами MySQL в скрипте обработки формы savecell2.php. Но в следующей версии
Некоторые особенности манипуляций с DOM
Самая сложная задача – выловить из временного элемента iframe ответ сервера. Она возникает как следствие из нашей генеральной установки считать Ajax лишней сущностью. Сложной является только часть задачи: при нормальных ответах сервера
А вот если, например, страница для iframe (savecell2. php) недоступна, сообщить об этом пользователю изнутри iframe не получится; надо будет из главного окна получить содержимое документа iframe. Тут тоже годится «штатная», отработанная нами в предыдущей версии Table Editor технология:
formframe=document.getElementById(«formframe») framedoc=(formframe.contentWindow && formframe.contentWindow.document) || formframe.contentDocument || formframe.documentПроблема возникает даже не на уровне манипуляций с DOM, а на уровне идеологии: это хорошо известное уродство ИЕ – при получении ошибки сервера «404» выдавать свою собственную страницу ошибки (и вот к этой-то «своей» странице ИЕ не предоставляет программного доступа).
Из-за этого (весьма характерного для Микрософт) скотства как раз и возникает небольшая сложность, которую мы обходим с помощью таймера:
- при отправке формы на сервер включается таймер в одну секунду;
- если страница savecell2.
- если таймер срабатывает, Javascript главного окна извлекает текст страницы из фрейма и выводит этот текст в истории изменений редактируемой ячейки;
- если таймер сработал, но при извлечении текста страницы фрейма Javascript получил фигу (null), значит, это пытающийся всеми управлять Микрософт;
- тогда мы сами пишем в историю ячейки «Ошибка связи»; iframe остаётся видимым, пока пользователь не закроет выскочившее сообщение (alert) с текстом ошибки (e.message), возникшей при попытке доступа к фрейму; с учётом этих поправок код обработки ошибок несколько усложнится:
Философия
Хотя это наоборот – скорее, логика. Программа-редактор таблицы начинает работу по определённому действию пользователя – щелчку мышкой с удержанными клавишами Контрол и Альт. К чему должно быть
Возможны два варианта:
1) привязать это событие к каждому элементу, который можно редактировать – с помощью функции, которая должна будет как-то обнаружить все такие элементы на странице;
2) привязать это событие просто ко всему документу (или открытому окну браузера) – тогда определять редактируемость элемента надо будет позже, в процессе обработки события.
Мы не рискнули (или поленились) заранее попытаться определить, куда пользователю можно щёлкать, а куда нет, и выбрали второй путь. То есть программа обработки щелчка запускается, куда бы пользователь ни щёлкнул. А значит, надо вовремя программу останавливать. Это делается на трёх разных этапах работы:
- В самом начале, при поиске элемента td, внутри которого был щелчок: obj=findParent(obj, «TD») if (!(obj && obj.parentNode)) return false (если среди «предков» щёлкнутого элемента нет td, или у найденного td нет parentNode, программа прекращает работу).
- При поиске наименования поля MySQL в первой строке таблицы (headers – список ячеек первой строки): try { fieldname=headers[idx].firstChild.nodeValue row=obj.parentNode.cells[0].firstChild.nodeValue } catch(e) { alert(«Нет наименования поля в первой строке таблицы \nИЛИ нет ID в первой колонке») return false }
- При отсутствии наименования поля MySQL в списке разрешённых для редактирования (validfield – список разрешённых полей): if (!validfield. test(fieldname)) { alert(«Поле ‘»+fieldname+»‘ не редактируется») return false }
Последний камень
При использовании Ajax (xmlHTTPRequest) для отлавливания ошибок (и вообще сообщений) сервера существуют специальные методы, призванные вроде бы облегчить работу. Они и облегчают – на ошибке «404» («Страница не найдена»), которую мы выбрали для тестирования как самую простую. Но в реальной жизни практически невероятно встретить такую ошибку в работе фоновых HTTP-запросов: организуя отправку через Javascript таких запросов, мы ведь сами указываем страницу-обработчик, которую сами же и помещаем на сервер.
Гораздо более вероятно примитивнейшее «зависание» HTTP-сервера или «тормоз» канала связи (или ещё какие-нибудь проблемы интернет-провайдера) – что во всех случаях будет выглядеть просто как отсутствие какого-либо ответа. И тогда «штатный» Ajax теряет все свои преимущества перед нашей простенькой конструкцией с iframe: и там, и тут проблема решается одинаково – с помощью таймера. У нас она в случае любых ошибок (т.е. при отсутствии HTTP-ответа «200 OK» в течение секунды) решается с помощью таймера, т.е. более единообразно и просто, чем в Ajax.
Ну, и ничего страшного не случится, если таймер сообщит пользователю об ошибке связи, а после этого отработает серверный скрипт и пришлёт сообщение «OK» – работа будет сделана, и пользователь узнает об этом.
D.M., admin
Использование повторяющихся областей в шаблонах в Dreamweaver.
Руководство пользователя Отмена
Поиск
Последнее обновление May 21, 2021 09:36:04 AM GMT
- Руководство пользователя Dreamweaver
- Введение
- Основы гибкого веб-дизайна
- Новые возможности Dreamweaver
- Веб-разработка с помощью Dreamweaver: обзор
- Dreamweaver / распространенные вопросы
- Сочетания клавиш
- Системные требования Dreamweaver
- Обзор новых возможностей
- Dreamweaver и Creative Cloud
- Синхронизация настроек Dreamweaver с Creative Cloud
- Библиотеки Creative Cloud Libraries в Dreamweaver
- Использование файлов Photoshop в Dreamweaver
- Работа с Adobe Animate и Dreamweaver
- Извлечение файлов SVG, оптимизированных для Интернета, из библиотек
- Рабочие среды и представления Dreamweaver
- Рабочая среда Dreamweaver
- Оптимизация рабочей среды Dreamweaver для визуальной разработки
- Поиск файлов по имени или содержимому | Mac OS
- Настройка сайтов
- О сайтах Dreamweaver
- Настройка локальной версии сайта
- Подключение к серверу публикации
- Настройка тестового сервера
- Импорт и экспорт параметров сайта Dreamweaver
- Перенос существующих веб-сайтов с удаленного сервера в корневой каталог локального сайта
- Специальные возможности в Dreamweaver
- Дополнительные настройки
- Настройка установок сайта для передачи файлов
- Задание параметров прокси-сервера в Dreamweaver
- Синхронизация настроек Dreamweaver с Creative Cloud
- Использование Git в Dreamweaver
- Управление файлами
- Создание и открытие файлов
- Управление файлами и папками
- Получение файлов с сервера и размещение их на нем
- Возврат и извлечение файлов
- Синхронизация файлов
- Сравнение файлов
- Скрытие файлов и папок на сайте Dreamweaver
- Включение заметок разработчика для сайтов Dreamweaver
- Предотвращение использования уязвимости Gatekeeper
- Макет и оформление
- Использование средств визуализации для создания макета
- Об использовании CSS для создания макета страницы
- Создание динамичных веб-сайтов с помощью Bootstrap
- Создание и использование медиазапросов в Dreamweaver
- Представление содержимого в таблицах
- Цвета
- Гибкий дизайн с использованием «резиновых» макетов
- Extract в Dreamweaver
- CSS
- Общие сведения о каскадных таблицах стилей
- Создание макетов страниц с помощью конструктора CSS
- Использование препроцессоров CSS в Dreamweaver
- Установка настроек стиля CSS в Dreamweaver
- Перемещение правил CSS в Dreamweaver
- Преобразование встроенного CSS в правило CSS в Dreamweaver
- Работа с тегами div
- Применение градиентов к фону
- Создание и редактирование эффектов перехода CSS3 в Dreamweaver
- Форматирование кода
- Содержимое страницы и ресурсы
- Задание свойств страницы
- Задание свойств заголовка CSS и свойств ссылки CSS
- Работа с текстом
- Поиск и замена текста, тегов и атрибутов
- Панель DOM
- Редактирование в режиме интерактивного просмотра
- Кодировка документов в Dreamweaver
- Выбор и просмотр элементов в окне документа
- Задание свойств текста в инспекторе свойств
- Проверка орфографии на веб-странице
- Использование горизонтальных линеек в Dreamweaver
- Добавление и изменение сочетаний шрифтов в Adobe Dreamweaver
- Работа с ресурсами
- Вставка и обновление даты в Dreamweaver
- Создание и управление избранными ресурсами в Dreamweaver
- Вставка и редактирование изображений в Dreamweaver
- Добавление мультимедийных объектов
- Добавление видео Dreamweaver
- Добавление видео HTML5
- Вставка файлов SWF
- Добавление звуковых эффектов
- Добавление аудио HTML5 в Dreamweaver
- Работа с элементами библиотеки
- Использование текста на арабском языке и иврите в Dreamweaver
- Создание ссылок и навигация
- О создании ссылок и навигации
- Создание ссылок
- Карты ссылок
- Устранение неполадок со ссылками
- Графические элементы и эффекты jQuery
- Использование пользовательского интерфейса и графических элементов jQuery для мобильных устройств в Dreamweaver
- Использование эффектов jQuery в Dreamweaver
- Написание кода веб-сайтов
- О программировании в Dreamweaver
- Среда написания кода в Dreamweaver
- Настройка параметров написания кода
- Настройка цветового оформления кода
- Написание и редактирование кода
- Подсказки по коду и автозавершение кода
- Свертывание и развертывание кода
- Повторное использование фрагментов кода
- Анализ Linting для проверки кода
- Оптимизация кода
- Редактирование кода в представлении «Дизайн»
- Работа с содержимым заголовков для страниц
- Вставка серверных включений в Dreamweaver
- Использование библиотек тегов в Dreamweaver
- Импорт пользовательских тегов в Dreamweaver
- Использование вариантов поведения JavaScript (общие инструкции)
- Применение встроенных вариантов поведения JavaScript
- Сведения об XML и XSLT
- Выполнение XSL-преобразования на стороне сервера в Dreamweaver
- Выполнение XSL-преобразования на стороне клиента в Dreamweaver
- Добавление символьных сущностей для XSLT в Dreamweaver
- Форматирование кода
- Процессы взаимодействия продуктов
- Установка и использование расширений в Dreamweaver
- Обновления в Dreamweaver, устанавливаемые через приложение
- Вставить документы Microsoft Office в Dreamweaver (только для Windows)
- Работа с Fireworks и Dreamweaver
- Редактирование содержимого на сайтах Dreamweaver с помощью Contribute
- Интеграция Dreamweaver с Business Catalyst
- Создание персонализированных кампаний почтовой рассылки
- Шаблоны
- О шаблонах Dreamweaver
- Распознавание шаблонов и документов на их основе
- Создание шаблона Dreamweaver
- Создание редактируемых областей в шаблонах
- Создание повторяющихся областей и таблиц в Dreamweaver
- Использование дополнительных областей в шаблонах
- Определение редактируемых атрибутов тега в Dreamweaver
- Создание вложенных шаблонов в Dreamweaver
- Редактирование, обновление и удаление шаблонов
- Экспорт и импорт XML-содержимого в Dreamweaver
- Применение или удаление шаблона из существующего документа
- Редактирование содержимого в шаблонах Dreamweaver
- Правила синтаксиса для тегов шаблона в Dreamweaver
- Настройка предпочтений выделения для областей шаблона
- Преимущества использования шаблонов в Dreamweaver
- Мобильные и многоэкранные устройства
- Создание медиазапросов
- Изменение ориентации страницы для мобильных устройств
- Создание веб-приложений для мобильных устройств с помощью Dreamweaver
- Динамические сайты, страницы и веб-формы
- Общие сведения о веб-приложениях
- Настройка компьютера для разработки приложений
- Устранение неполадок подключений к базам данных
- Удаление сценариев подключения в Dreamweaver
- Дизайн динамических страниц
- Обзор динамических источников содержимого
- Определение источников динамического содержимого
- Добавление динамического содержимого на страницы
- Изменение динамического содержимого в Dreamweaver
- Отображение записей баз данных
- Введение интерактивных данных и устранение неполадок с ними в Dreamweaver
- Добавление заказных вариантов поведения сервера в Dreamweaver
- Создание форм с помощью Dreamweaver
- Использование форм для сбора информации от пользователей
- Создание и включение форм ColdFusion в Dreamweaver
- Создание веб-форм
- Расширенная поддержка HTML5 для компонентов формы
- Разработка формы с помощью Dreamweaver
- Визуальное построение приложений
- Создание главной страницы и страницы сведений в Dreamweaver
- Создание страниц поиска и результатов поиска
- Создание страницы для вставки записи
- Создание страницы обновления записи в Dreamweaver
- Создание страниц удаления записей в Dreamweaver
- Применение ASP-команд для изменения базы данных в Dreamweaver
- Создание страницы регистрации
- Создание страницы входа
- Создание страницы с доступом только для авторизованных пользователей
- Защита папок в ColdFusion с помощью Dreamweaver
- Использование компонентов ColdFusion в Dreamweaver
- Тестирование, просмотр и публикация веб-сайтов
- Предварительный просмотр страниц
- Предварительный просмотр веб-страниц Dreamweaver на нескольких устройствах
- Тестирование сайта Dreamweaver
Создание повторяющихся областей и повторяющихся таблиц, а также настройка свойств таблицы в Dreamweaver для управления макетом страницы.
Повторяющаяся область — это раздел шаблона, который может дублироваться несколько раз на странице на основе шаблона. Как правило, повторяющиеся области используются с таблицами, однако их можно определять и для других элементов страницы.
Повторяющиеся области дают возможность управлять макетом страницы с помощью таких повторяющихся элементов, как элементы каталога и макет описания, или с помощью строк данных, например списка элементов.
Доступно два объекта шаблона повторяющейся области: повторяющаяся область и повторяющаяся таблица.
Создание повторяющейся области в шаблоне
Повторяющиеся области позволяют пользователям шаблона дублировать указанную область в шаблоне необходимое количество раз. Повторяющаяся область необязательно должна быть редактируемой.
Чтобы сделать содержимое повторяющейся области доступным для редактирования (например, разрешить пользователю вводить текст в ячейку таблицы в документе на основе шаблона), необходимо вставить редактируемую область в повторяющуюся область.
Выполните в области «Окно документа» одно из следующих действий.
Выберите текст или содержимое, которые необходимо задать в качестве повторяющейся области.
Поместите курсор вставки в документ в том месте, куда следует добавить повторяющуюся область.
Выполните одно из следующих действий.
В поле «Имя» введите уникальное имя области шаблона. (Нельзя использовать одно имя для нескольких повторяющихся областей в шаблоне.)
Примечание.Не используйте в имени области специальные символы.
Нажмите кнопку «ОК».
Добавление повторяющейся таблицы
С помощью повторяющейся таблицы можно создать редактируемую область (в формате таблицы) с повторяющимися строками. Можно определить атрибуты таблицы и установить ячейки таблицы в качестве доступных для редактирования.
В окне документа поместите курсор вставки в том месте, куда следует добавить повторяющуюся таблицу.
Выполните одно из следующих действий.
Задайте следующие параметры и нажмите кнопку «ОК».
Строки
Определяет количество строк в таблице.
Столбцы
Определяет количество столбцов в таблице.
Поля ячеек
Определяет количество пикселов между содержимым и границами ячейки.
Интервал ячеек
Определяет число пикселов между смежными ячейками таблицы.
Примечание.Если значения полей ячейки и интервала между ячейками не заданы явно, то в большинстве браузеров таблица будет отображаться со значением поля ячейки 1 и интервала между ячейками 2. Чтобы таблица отображалась в браузере без полей и интервалов, установите значения параметров «Поля ячеек» и «Интервал ячеек» равным 0.
Ширина
Задает ширину таблицы в пикселах или в процентах от ширины окна браузера.
Рамка
Задает толщину границ таблицы в пикселах.
Примечание.Если значение границы не задано явно, то в большинстве браузеров таблица будет отображаться с толщиной границы 1. Чтобы таблица отображалась в браузере без границы, установите значение параметра «Граница» равным 0.
Чтобы границы таблицы и ячеек отображались при толщине границы 0, выберите «Просмотр > Параметры представления «Дизайн» > Средства визуализации». Этот параметр доступен только в представлении «Дизайн».
Повторяющиеся строки таблицы
Указывает строки в таблице, которые включены в повторяющуюся область.
Начальная строка
Задает номер строки, которая будет включена в повторяющуюся область в качестве начальной.
Конечная строка
Задает номер строки, которая будет включена в повторяющуюся область в качестве конечной.
Имя области
Позволяет назначить уникальное имя повторяющейся области.
Создание повторяющихся таблиц
Установка чередующихся цветов фона в повторяющейся таблице
После добавления таблицы в шаблон можно настроить чередующийся цвет фона ее строк.
В окне документа выберите строку в повторяющейся таблице.
Нажмите кнопку «Показать представление «Код»» или «Показать представление «Код» и «Дизайн»» на панели инструментов «Документ», чтобы получить доступ к коду выбранной строки таблицы.
В окне кода вставьте в тег <tr> следующий код.
<tr bgcolor="@@( _index & 1 ? '#FFFFFF' : '#CCCCCC' )@@">
Можно заменить шестнадцатеричные значения #FFFFFF и #CCCCCC другими цветами.
Сохраните шаблон.
Ниже показан код примера таблицы, которая содержит чередующиеся цвета строк фона:
<table border="1" cellspacing="0" cellpadding="0"> <tr><th>Name</th><th>Phone Number</th><th>Email Address</th></tr> <!-- TemplateBeginRepeat name="contacts" --> <tr bgcolor="@@(_index & 1 ? '#FFFFFF' : '#CCCCCC')@@"> <td> <!-- TemplateBeginEditable name="name" --> name <!-- TemplateEndEditable --> </td> <td> <!-- TemplateBeginEditable name="phone" --> phone <!-- TemplateEndEditable --> </td> <td> <!-- TemplateBeginEditable name="email" --> email <!-- TemplateEndEditable --> </td> </tr> <!-- TemplateEndRepeat --> </table>
Справки по другим продуктам
- Типы областей шаблона
- Добавление редактируемой области
Вход в учетную запись
Войти
Управление учетной записьюРедактор таблиц| Плагины jQuery
a-table.
js — Простой интерфейс таблицы для создания HTML-таблицы03 июля 2017 г. 2823 Столы
a-table.js — простой пользовательский интерфейс таблицы для создания html таблицы. Это бесплатное использование (лицензия MIT) и поддержка IE 9 ~, Safari, Chrome, Firefox.
Подробнее »
jQuery Tabledit — встроенный редактор для таблиц с jQuery и Bootstrap
06 июня 2015 г. 34937 Столы Начальная загрузка
jQuery Tabledit — встроенный редактор HTML-таблиц, совместимый с Bootstrap. Можно редактировать как встроенную электронную таблицу, так и с помощью кнопок для переключения между режимами редактирования и просмотра.
Подробнее »
Редактируемая таблица — редактируемая таблица jQuery Bootstrap
10 февраля 2014 г. 73983 Столы Начальная загрузка
Редактируемая таблица — крошечный плагин jQuery, превращающий любую таблицу в редактируемую электронную таблицу.
Функции
- Хорошо работает с Bootstrap
- Работает с обычной таблицей HTML
- Поддерживает события проверки и изменения
- Использует стандартный фокус DOM для выбора
- Нет поддержка копирования/вставки
Подробнее »
jQuery editTable
18 декабря 2013 г. 20099 г. JSON Аякс Столы
editTable — это легкий плагин jQuery, который заполняет пробел, оставленный отсутствием поля ввода по умолчанию для таблиц данных .
jQuery editTable можно использовать как в соревнованиях AJAX , так и/или HTTP POST , и вы можете задать название и количество столбцов или просто дать полную свободу пользователю.
Читать далее »
appendGrid — Плагин jQuery для динамического ввода таблицы
07 ноября 2013 г. 12258 Столы
appendGrid позволяют вводить структурированные данные построчно, например, заполнять электронные таблицы. Это позволяет вам добавлять/удалять/вставлять/удалять строку в сетке.
Сгенерированные элементы управления input/select/textarea хорошо названы для отправки в серверные приложения, такие как ASP.NET/PHP/JSP. Несколько вариантов и событий обратного вызова доступны для любой ситуации.
Подробнее »
jui_datagrid — подключаемый модуль jQuery Datagrid с использованием jQuery UI
16 февраля 2013 г. 22076 Столы Макет сетки
jui_datagrid – подключаемый модуль jQuery с поддержкой Ajax, полезный для управления данными базы данных в табличном формате. Он имеет встроенную разбивку на страницы, сортировку, редактирование, удаление и расширенный поиск.
Полностью настраиваемый, простой, но мощный API, совместимость с темами jQuery, поддержка локализации.
Подробнее »
jTable — плагин jQuery для создания CRUD-таблиц на основе AJAX
04 июля 2012 г. 41099 Аякс Столы
jTable — это подключаемый модуль jQuery, который используется для создания таблиц AJAX на основе CRUD без кодирования HTML или Javascript. Он имеет несколько функций, в том числе.
Читать дальше »
Handsontable — плагин jQuery Excel-Like Grid Editor
28 июня 2012 г. 10725 Столы
Ручной стол — это минималистичный подход к Excel , подобный редактору таблиц в HTML и jQuery. Теперь с заголовками столбцов и строк.
Подробнее »
Плагин jQuery TableEditor
17 февраля 2012 г. 9209 Аякс Столы
TableEditor Плагин jQuery обеспечивает гибкое редактирование таблиц HTML на месте. Определенные пользователем функции обработчика могут быть легко добавлены, например, для обновления источника данных через AJAX запрос.Читать далее »
Плагин jQuery: Tablesorter 2.0 — Content Editable
ПРИМЕЧАНИЕ!
- Этот виджет нельзя применить к исходному плагину, для него требуется jQuery 1.7+ и браузер, поддерживающий
атрибутов contenteditable
(почти все современные браузеры). - Для выделения редактируемой ячейки таблицы с фокусом требуется дополнительный CSS. См. блок CSS ниже.
- Редактируемые параметры виджета включают (значения по умолчанию в скобках):
-
editable_column
([]
) — содержит массив номеров столбцов, содержимое которых вы хотите редактировать (индекс с отсчетом от нуля).contenteditable="true"
добавляется в ячейки этих столбцов. -
editable_enterToAccept
(true
) — пользователь нажимает клавишу ВВОД, чтобы принять содержимое в редактируемой ячейке таблицы; еслиfalse
, щелчок за пределами ячейки примет содержимое. -
editable_autoResort
(false
) — еслиtrue
, столбец будет пересортирован (только если он уже отсортирован) после изменения содержимого. -
editable_noEdit
('no-edit'
) — Имя класса в ячейках таблицы для поиска, которые не должны стать редактируемыми. Поиск выполняется только в столбцах, заданных параметромeditable_column
.
-
- Если нажать escape во время редактирования, все изменения будут отменены.
- В приведенной ниже демонстрации щелкните любой из первых трех столбцов, чтобы изменить содержимое, за исключением ячейки, содержащей «Питер».
- Чтобы запретить редактирование ячейки таблицы, добавьте в ячейку имя класса
"no-edit"
. - Отредактированный контент будет принят в следующих случаях:
- Нажатие ввода, когда опция
editable_enterToAccept
имеет значениеtrue
. - Щелчок за пределами текущего редактируемого содержимого.
- Перемещение мыши за пределы текущего тела. Это сделано потому, что если редактируемый контент все еще активен, когда пользователь щелкает заголовок для сортировки столбца, происходят всевозможные плохие вещи.
- Нажатие ввода, когда опция
- Отредактированный контент не будет принят в следующих случаях:
- Нажатие Escape внутри редактируемого содержимого.