当我使用复选框小部件时,为什么web2py显示禁用了输入html?

时间:2013-02-08 14:55:54

标签: python html web2py

我正在学习web2py,但遇到了一些麻烦。我有一个这里定义的一对多关系:

db.define_table('dog',
    Field('name', requires=IS_NOT_EMPTY()))
db.define_table('person',
    Field('name', requires=IS_NOT_EMPTY()),
    Field('dogs', 'list:reference dog'))

db.person.dogs.widget=SQLFORM.widgets.checkboxes.widget

如果一只狗有一个主人,但主人可以有多只狗。

在我的控制器中,我创建了一个表单,其中包含该人名的文本字段,以及表示为复选框的狗列表。

表单创建的控制器代码只是:

form = SQLFORM(db.person)   # rendered with {{=form}} in views

这样可行,但在复选框列表的末尾有一个奇数文本输入,标记为已禁用:

<tr><td><input class="hidden" disabled="disabled" name="dogs" type="text" /></td></tr>

这实际上并没有隐藏,只是变灰了。

我查看了web2py源代码,而复选框小部件位于web2py.gluon.sqlhtml中,但我很难解释为何将此禁用的输入附加到复选框列表中。

任何人都可以澄清为什么这个禁用的输入存在或如何在没有此问题的情况下正确创建此表单?

1 个答案:

答案 0 :(得分:0)

Anthony的评论是正确的:我忘了加载css文件。