如何在Web2Py中禁用输入字段

时间:2015-07-30 12:03:45

标签: python web2py

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

disable=True之类的东西会很好。

1 个答案:

答案 0 :(得分:1)

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

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