У меня есть поле формы (с меткой «person1»). Я хотел бы добавить больше полей одного типа, чтобы добавить больше людей. Как добавить определенные поля динамически в формы Web2py, нажав кнопку?Как добавить поля динамически в формы web2py?
ответ
Нравится? http://www.web2py.com/books/default/chapter/29/11/jquery-and-ajax#Conditional-fields-in-forms
Я хочу добавить что-то похожее на веб-приложение, у меня нет кода, чтобы показать атм, потому что это не мой первый приоритет, существуют различные таблицы, связанные, и я думаю, что мне нужно будет использовать SQLFORM.factory с настраиваемыми полями set to css display: none по умолчанию. Затем я буду использовать jquery, чтобы показать их по требованию и, в конечном итоге, написать все в DB.
Но пример в книге кажется хорошим способом начать изучение.
Во всяком случае, если поля как в полях формы попробуем это ...
Это в модели:
db.define_table("people", Field("person", "string"), format='%(person)s')
Это в контроллере:
def add_person():
form = SQLFORM.factory(db.people,
buttons=[INPUT(_type = 'submit', _name = 'submit',
_value = 'Submit', _class = "btn-submit"),
INPUT(_type = 'button', _value = 'Add field',
_onClick = "$('<input type=text>').insertAfter(':input.string');",
_class = "btn-warning")])
if form.process().accepted:
#do something
pass
elif form.errors:
response.flash = 'Errors on form'
return dict(form=form)
Код выше добавляет поля динамически, но затем кажется сложным для получения значений и вставки в базу данных, я полагаю, это то, что вы хотите сделать.
Я думаю, что следующее решение должно работать, просто передайте количество необходимых полей в качестве аргумента, и на submit вставьте все их.
Если я не понял ваш запрос, объясните лучше, пожалуйста.
def add_person():
fields = []
for i in range(int(request.args(0) or 1)):
fields.append(Field('person ' + str(i),
default='text ' + str(i)))
form = SQLFORM.factory(*fields)
if form.process().accepted:
fields = [item[1] for item in form.vars.iteritems()
if item[0].startswith('person')]
for field in fields:
db.people.insert(person=field)
return dict(form=form)
U наклоняет добавить автоматически поля к form.It должен быть сделан вручную поля («Имени», ярлык = «», виджет = «»). Таким образом, и можно добавлять поля в форме
- 1. Параметры поля формы Web2py
- 2. Создать повторяющиеся поля пользовательской формы в web2py?
- 3. Динамически добавлять поля формы
- 4. Динамически Добавить поля формы и поля Update Value
- 5. Как добавить динамически созданные таблицы в SQLFORM в web2py
- 6. Как отключить поля ввода в Web2Py
- 7. Динамически добавлять/удалять поля формы
- 8. Динамически добавить элемент формы
- 9. Yii2: Не могу добавить поля формы динамически в Yii2
- 10. Добавить поля формы на основе выбора формы
- 11. Django формы, как добавить атрибут поля формы
- 12. Symfony2 Как добавить обязательное поле формы динамически
- 13. web2py: как настроить формы add.edit в SQLFORM.smartgrid?
- 14. Динамически добавлять поля формы в MeteorJS
- 15. Как добавить поля динамически в Django?
- 16. Добавить поля в форму laravel динамически
- 17. Добавление формы поля ввода динамически
- 18. Сохранение автора формы Web2Py
- 19. процесс формы web2py
- 20. Как изменить yy 2 поля формы динамически
- 21. z3c.form добавить поля динамически в каталог. Результаты
- 22. extjs добавить плагины в поля динамической формы
- 23. Как динамически отключить некоторые поля формы?
- 24. Как кэшировать динамически созданные поля формы
- 25. Вычисляемые поля в web2py sqlgrid
- 26. Ошибка процесса формы Web2py
- 27. Как добавить поля меда в мои формы?
- 28. Добавить динамически созданные элементы формы в jquery.validate?
- 29. Как проверить список: строковые поля с web2py?
- 30. Динамически добавленные поля формы удаляются в form.cleaned_data
Нет. На самом деле я хочу добавить список людей. Поэтому мне нужна кнопка с знаком +, и когда я нажимаю, она динамически добавляет поля в форму. – user6063278
Теперь я думаю, что больше не понимаю ... Скажите, что у вас есть стол, называемый людьми с полем, называемым человеком. Каждый раз, когда вы добавляете человека в таблицу, вы создаете запись record1, record2 ... recordn. Это? Вы хотите добавить сразу несколько человек (записей)? – dido
Ответ отредактирован, мне очень нравится гибкость web2py ... – dido