![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Как то подвернулась задачка для которой необходимо иметь возможность корректировать большой объем табличных данных. Причем, за раз требуется изменять не очень много ячеек.
Обычный подход - нарисовать таблицу с полями-инпутами на все возможные данные и по окончании редактирования пересылать ее серверу всю обратно. Проблема в том, что объем данных, передаваемый серверу на этом этапе может быть неоправданно большим. Потребуется передавать фактически всю таблицу данных обратно. предлагается такой подход: Формируются строчки таблицы такой структуры
Изначально поля без атрибута name. XX - идентификатор строки таблицы, YY - идентификатор столбца таблицы, соответствено.
Итого, при изменении данных формируется поле с соответствующим NAME'ом, который уже может быть послан по сабмиту формы на сервер. Посылаются только измененные данные. У кого есть мысли по этому поводу? В принципе, обработчик надо бы писать поумнее, к примеру ставить реакцию на keypressed и onpaste для IE, но для иллюстрации идеи и так пойдет... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
||||
|
|||||
| Grig |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 809 Регистрация: 29.4.2005 Где: Иркутск Репутация: 2 Всего: 16 |
я такую штуку проворачивал так:
создается объект, в него массив, в него же и методы по выводу html таблицы или подготовки данных к сохранению. Писанины, конечно больше, но себя оправдывает. -------------------- |
|||
|
||||
| IDVsbruck |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 8 Всего: 22 |
Была схожая задача, правда, объем получения-отсылки не очень большой.
Мое предложение: есть таблица с возможностью позицирования строки (визуальное выделение с глобальной переменной или чекбокс для всех строк), кнопка "редактировать", кнопка "подтвердить". Выделяем строку - ДОМом для данной строки делаем все поля редактируемыми (в td вставляем input text или textArea). После редактирования строки подтверждаем и отправляем строку на сервер аджаксом. Плюс: - данные в любом случае сохранятся на сервере (возможно, кроме последней строки) - принцип релятивных БД; - не надо передавать всю таблицу обратно на сервер; - удобство в использовании. Минус: - много возни с джаваскриптом; - большое количество передач (если траффик несущественен, то это и не минус). |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Итого - вариант IDVsbruck, посылает каждое отредактированное поле на сервер. Мне не очень подходит, так как данные связаны друг с другом и могут изеняться только всем куском... Вариант
Grig, вообще непонятно как работает ;-) То-есть с моей точки зрения, ничего принципиально лучше моего варианта я пока не вижу. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |