Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Динамическое добавление полей и формирование JSON (https://javascript.ru/forum/dom-window/68690-dinamicheskoe-dobavlenie-polejj-i-formirovanie-json.html)

Scantraxx 04.05.2017 13:50

Цитата:

Сообщение от laimas (Сообщение 451600)
Принимает ваш контроллер произвольные индексы (по идее должен)?

Вы за это говорите?
model.part.parts_brand_id = 3;
model.part.parts_category_id = 3;

так это просто для теста

Scantraxx 04.05.2017 13:51

Цитата:

Сообщение от laimas (Сообщение 451600)
Принимает ваш контроллер произвольные индексы (по идее должен)?

Вы за эти индексы говорите?
Код:

model.part.parts_brand_id = 3;
model.part.parts_category_id = 3;

Так это просто для теста сделал.

Scantraxx 04.05.2017 13:51

упс, лагануло

laimas 04.05.2017 13:58

Индексы, это указанные в именах полей

detail[3].details_name - здесь 3

Ваш контроллер примет без проблем их произвольный порядок?

Scantraxx 04.05.2017 14:09

нет, если где-то в индексах идет перескок, то он дальше не фурычит

Scantraxx 04.05.2017 14:12

dev tools в браузере видит все поля, а контроллер принимает только те, что идут по порядку, до прерывания

laimas 04.05.2017 14:20

Если контроллер нифига не понимает коллекции с произвольной индексацией, то это плохо. Либо вы переписываете его код "до умного", либо при удалении добавленных полей потребуется потрошить оставшиеся, меня в них индексы от 0 до ...

Scantraxx 04.05.2017 14:28

Есть вариант не удалять поля, а делать их hidden, а в контроллере проверку замутить

laimas 04.05.2017 14:35

А причем тут hidden? Кроме имени и значения поля, другие его свойства на сервер не передаются.

Проще переписать контроллер, если это затруднительно, то выгоднее добавить индексацию полям при отправке формы, а до этого именовать как detail.details_name и и.д. Тем более если форму отправлять асинхронным запросом.

Но, как уже отмечалось, вашем случае иметь такие характеристики как цвет, вес, размер... не выгодно в отдельной таблице - не может быть цвет одновременно быть и черным, и белым.

Подумайте сначала над этим, затем над html-структурой формы, после чего можно будет писать код добавления/удаления полей формы (если только это потребуется), и ее ajax отправке.

Scantraxx 04.05.2017 14:46

Я в одном большом интернет-магазине увидел одну и ту же группу товаров(раму велосипедную) и у этих товаров были разные характеристики. У какого-то товара указывались размеры, у другого - еще что-то, то есть не было жестко фиксированных полей, я по этому думал так сделать...но сейчас вы заставили меня задуматься, правильно ли я решил делать.


Часовой пояс GMT +3, время: 12:09.