![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Искал веб-компонент, который умеет добавлять/удалять группы полей в форму. Или хотя бы как это называется :D
Нашёл сначала кусок кода (демо), а потом папа
cray_flatline по нужным словам нашёл ещё:
* jquery-dynamic-form (демо)
* dynamicField (демо).
Други, кто знает что-нибудь получше?
Нашёл сначала кусок кода (демо), а потом папа
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
* jquery-dynamic-form (демо)
* dynamicField (демо).
Други, кто знает что-нибудь получше?
Tags:
А потом он начал отвечать сам себе...
6/9/11 09:11 (UTC)(no subject)
6/9/11 09:24 (UTC)(no subject)
6/9/11 09:26 (UTC)(no subject)
6/9/11 10:05 (UTC)Зачем компонент?
1. Devil in details. Добавим горсть мелких требований - и шапками уже не закидаешь, получатся не 3 строчки, а все 300.
Например:
* менять индекс в названии каждого поля;
* задавать минимальное и максимальное количество строк;
* предзаполнять поля;
* в будущем - сабмититься на сервер и получать данные для свежедобавленных полей;
2. DRY. Элементарное дубликование кода - у нас таких форм не одна.
3. С компонентом - например, SheepIt - наш код получается чище. И неважно, сколько кода в компоненте.
(no subject)
6/9/11 10:20 (UTC)Вот тогда вам придется наворачивать свой уровень абстракции над компонентом, а еще через три таких итерации выяснится что что-то реализуется не так, и вот тогда вы повеселитесь, разыскивая, где именно.
2. Какая нахрен разница, чей код у вас подгружается по script src= - стандартного компонента или ваш собственный?
3. Если вы не можете написать код столь же чистый, что и код компонента, то да, стоит почитать этот компонент и поучиться правильному оформлению кода. А чистоту вашего кода надо учитывать, считая код компонента. Потому что, если оно будет работать не так, как требуется, читать придется и его тоже. И, соответственно, если компонент и ваш собственный код использует разные coding conventions, это уже не чище.
(no subject)
6/9/11 11:22 (UTC)1.2. Обычно оно так и происходит, но мы выработали roadmap и у нас изменений в этом месте не предвидится - уж скорее оно отомрёт.
1.3. Но даже если и так, то быстрый старт тоже дорогого стоит.
1.4. Мы обычно не наворачиваем свои уровень абстракции, если это не совсем быстрый хак. Мы или правим исходник, или таки переходим на другое решение. Как ни странно, такой отказ от перфекционизма даёт более чистые результаты.
2. "Дело только в цене". Мне не оплатят 8 дней вместо одного. Да и я не хочу изобретать велосипед.
3. Вы о чём вообще? Мой код с компонентом получается чище, потому что короче. Чему Вы мне предлагаете поучиться и что это вообще за выпады?