Я использую фреймворк web2py, и я пытаюсь создать SQLFORM без кнопки отправки. У меня есть несколько форм, с общими полями, поэтому я не могу использовать SQLFORM.factory(), и я хочу иметь только одну из форм с кнопкой отправки, которая будет обрабатывать данные из всех других форм на странице. Любые предложения по наилучшему способу сделать это?SQLFORM без кнопки отправки
ответ
Я думаю, что вы можете комбинировать различные SQLFORM, добавляя одну форму в другую. Таким образом, вы получите только одну «множественную форму» только с одной кнопкой отправки. Что-то вроде этого в вашем контроллере:
form1 = SQLFORM(db.table1)
form2 = SQLFORM(db.table2)
form1.append(form2)
if form1.process().accepted:
#filter the fields from each form do whatever you want
response.flash = 'OK'
elif form1.errors:
response.flash = 'NOT OK'
return dict(form=form1)
Вы видите, что я только что спросил в форме1? Это потому, что он является основной формой и, конечно же, вы сделали правильный фильтр среди своих форм. Надеюсь это поможет.
Я предполагаю, что одним из способов сделать это может быть установка полей _formkey и _formname всех форм в одно и то же значение. Что-то вроде этого:
my_form2.formname = my_form1.formname
my_form2.formkey = my_form1.formkey
Если вы хотите, чтобы скрыть кнопки отправки вручную, попробовать что-то вроде этого:
my_form1.element('input', _type = 'submit')['_style'] = 'display:none'
Оставить одну из кнопок отправки, для которых FormName и formkey было установлено равным значениям других форм нетронутыми - эта кнопка будет использоваться для отправки форм.
Вставка вары в БД таблиц можно сделать что-то вроде:
db.table1.insert(**db.table1._filter_fields(request.vars))
db.table2.insert(**db.table2._filter_fields(request.vars))
Если поля имеют одинаковые имена, может быть некоторый потенциал для беспокойства, так что будьте осторожны.
form1 = SQLFORM(db.table1, buttons=[])
это установит форму без кнопок, поэтому не отправляйте тоже.
- 1. selectbox без кнопки отправки
- 2. форма без кнопки отправки
- 3. FormData без кнопки отправки
- 4. Публикация без кнопки отправки
- 5. Отправить форму без кнопки отправки
- 6. Форма POST без кнопки отправки
- 7. Выбор кнопки отправки без JS
- 8. Проверка формы без кнопки отправки в AngularJS
- 9. выпадающий список без нажатия кнопки отправки
- 10. Вызов php-файла без кнопки отправки
- 11. Отправить форму без кнопки отправки в rvest
- 12. Как загрузить изображение без кнопки отправки?
- 13. 2 выпадающих меню без кнопки отправки
- 14. Ошибка печати кнопки формы без отправки
- 15. PHP - кнопка радио без кнопки отправки
- 16. Обновление страницы на флажке без кнопки отправки
- 17. Расчет Javascript динамически без кнопки отправки
- 18. метод действий вызывается без нажатия кнопки отправки
- 19. Как вызвать действие Struts2 без кнопки отправки
- 20. Проверка угловой формы без кнопки отправки
- 21. HTML5 форма проверки без кнопки отправки
- 22. jquery form submit без нажатия кнопки отправки
- 23. Отправить данные без кнопки отправки (Javascript/jQuery)
- 24. Как отправить форму БЕЗ нажатия кнопки отправки?
- 25. Указать/проверить работу без кнопки отправки?
- 26. TinyMCE получить содержимое формы без кнопки отправки
- 27. Как отправить меню выбора без кнопки отправки?
- 28. получить выделенное выпадающее значение без кнопки отправки
- 29. Загрузка файла в AngularJS без кнопки отправки
- 30. Как отправить заявку без отправки кнопки