2024-04-26 06:20:52 发布
网友
在定义一个表时,除了在表单上循环之外,有没有一种快速的方法来disable一个输入字段? 将字段设置为writable=False将显示数据,但不显示在输入字段中。在
disable
writable=False
像disable=True这样的东西会很好。在
disable=True
您可以自定义字段的小部件:
db.define_table('mytable', Field('myfield', type='string', widget=lambda f, v: SQLFORM.widgets.string.widget(f, v, _disabled=True)))
请小心,虽然在提交表单时,浏览器不会发送禁用字段的任何数据,但是SQLFORM仍然需要一个值(因为writable=True)。因此,如果您有一个需要值的验证器,您将需要一个变通方法(例如,在表单处理或定义自定义验证器之前在request.post_vars中设置字段的值)。在
SQLFORM
writable=True
request.post_vars
您可以自定义字段的小部件:
请小心,虽然在提交表单时,浏览器不会发送禁用字段的任何数据,但是
SQLFORM
仍然需要一个值(因为writable=True
)。因此,如果您有一个需要值的验证器,您将需要一个变通方法(例如,在表单处理或定义自定义验证器之前在request.post_vars
中设置字段的值)。在相关问题 更多 >
编程相关推荐