Stanislav Ievlev пишет: > Я разобрался. > > Дополнительный параметр, добавленный в поле action формы приезжает не > просто отдельно, он приходит в команде, предназначенной для всего > модуля, а не отдельной строки. > > Тут вот какая проблема: динамическая таблица - это некий мозг, > обладающий любопытной фишкой: он на каждую строку таблицы умеет при > последующем submit сделать отдельную команду. Достигает он этого тем, > что при генерации таблицы особым образом подхакивает name у элементов > формы обнаруженных внутри таблицы. А значения всех полей вне таблицы > при этом же submit приезжают как обычно, для всей формы целиком. > Отсюда мораль - сейчас, алгоритм разделения пришедших к серверу > значений формы не может догадаться, что param3 относился не к общим > параметрам формы, а к каждой строчке таблицы. Знание об этом > нивелировал браузер пока формулировал ответ ;). action обрабатывается > особо - поэтому он и есть у каждой команды. > > Чтобы какое-то значение приезжало для каждой строчки таблицы - можно > запинуть его в hidden в строке (соотв. он размножится на всю таблицу), > а можно закодировать в урле ибо если форма имеет урл "/a", в таблице > в optionlist сказано '/b' (суффикс который добавляется к a, чтобы > сделать woo-list), то на каждую строку будет приходить команда с урлом > /a/b/<name>. И этот 'b' можно использовать как 'параметр'. > Второй способ применяется в alterator-bind.
Сделал <input type="hidden" name="..."> рядом со <span type="alterator-label" name="..."/>. Вроде бы работает, как надо, но теперь action delete приходит для каждой строки таблицы, независимо от того, отмечена ли она. Для отмеченных выставляется params[delete]: #t, см. лог ниже. По-моему, раньше в бакенд передавались только отмеченные строки. Я, конечно, могу добавить проверку на params[delete], но другие модули сломаются. Или я что-то путаю? Стоит alterator-fbi из git (тот, что в Сизифе, неправильно передаёт url из динамической таблицы в бакенд). March 20 20:03:45 amanda: params[dumptype]: comp-root-tar March 20 20:03:45 amanda: params[action]: delete March 20 20:03:45 amanda: params[language]: ru_RU;en_US March 20 20:03:45 amanda: params[hostname]: localhost March 20 20:03:45 amanda: params[_objects]: DailySet1/disklist/localhost/etc March 20 20:03:45 amanda: params[diskname]: /etc March 20 20:03:45 amanda: ==========: ========== March 20 20:03:45 amanda: params[dumptype]: NO-COMPRESS March 20 20:03:45 amanda: params[action]: delete March 20 20:03:45 amanda: params[delete]: #t March 20 20:03:45 amanda: params[language]: ru_RU;en_US March 20 20:03:45 amanda: params[hostname]: localhost March 20 20:03:45 amanda: params[_objects]: DailySet1/disklist/localhost/tmp March 20 20:03:45 amanda: params[diskname]: /tmp March 20 20:03:45 amanda: ==========: ========== March 20 20:03:45 amanda: params[dumptype]: NO-COMPRESS March 20 20:03:45 amanda: params[action]: delete March 20 20:03:45 amanda: params[language]: ru_RU;en_US March 20 20:03:45 amanda: params[hostname]: localhost March 20 20:03:45 amanda: params[_objects]: DailySet1/disklist/localhost/usr March 20 20:03:45 amanda: params[diskname]: /usr March 20 20:03:45 amanda: ==========: ========== March 20 20:03:45 amanda: params[action]: delete March 20 20:03:45 amanda: params[language]: ru_RU;en_US March 20 20:03:45 amanda: params[type]: disklist March 20 20:03:45 amanda: params[_objects]: DailySet1 <skipped/> -- Regards, Vyt mailto: [EMAIL PROTECTED] JID: [EMAIL PROTECTED]
signature.asc
Description: OpenPGP digital signature
_______________________________________________ devel-conf mailing list [email protected] https://lists.altlinux.org/mailman/listinfo/devel-conf
