在我的appconfig.ini
文件中,默认formstyle
为bootstrap3_inline
。但是当表单在浏览器中显示时,表单元素将垂直显示,一个在另一个之下,页面源表示表单类为form-horizontal
。我尝试使用formstyle
的所有其他选项,但无法获得引导程序form-inline
。我使用的是Chrome浏览器。
我希望采用'form-inline'样式,因为我的表单只有几个元素,而且很多屏幕空间都没有使用'form-horizontal'样式。如何将表单显示在一行中?
答案 0 :(得分:1)
bootstrap3_inline
名称有点误导,因为它真的打算产生Bootstrap horizontal form。此上下文中的术语“内联”仅用于表示每个表单域显示标签和输入内联(与默认值相反,输入显示在标签下方)。
要转换为真正的Bootstrap内联表单,您可以在构造FORM
对象后简单地更改它:
form = SQLFORM(db.mytable).process()
form['_class'] = 'form-inline'
如果要将此样式应用于多个表单或将其设置为默认值,可以基于formstyle
formstyle创建自定义boostrap3_inline
函数:
from gluon.sqlhtml import formstyle_bootstrap3_inline_factory
def inline_form(form, fields):
form = formstyle_bootstrap3_inline_factory(3)(form, fields)
form['_class'] = 'form-inline'
return form
然后您可以将此样式应用于单个表单:
form = SQLFORM(db.mytable, formstyle=inline_form)
或者将其设为默认formstyle
:
response.formstyle = inline_form