如何禁用Web2Py中的输入字段

2024-04-26 06:20:52 发布

您现在位置:Python中文网/ 问答频道 /正文

在定义一个表时,除了在表单上循环之外,有没有一种快速的方法来disable一个输入字段? 将字段设置为writable=False将显示数据,但不显示在输入字段中。在

disable=True这样的东西会很好。在


Tags: 数据方法falsetrue表单定义disablewritable
1条回答
网友
1楼 · 发布于 2024-04-26 06:20:52

您可以自定义字段的小部件:

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中设置字段的值)。在

相关问题 更多 >