如何禁用 Web2Py 中的输入字段
How to disable input fields in Web2Py
在定义 table 时,是否有快速的方法 - 除了遍历表单 - disable
输入字段?
将字段设置为 writable=False
显示数据但不显示在输入字段中。
像 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
中设置字段的值)。
在定义 table 时,是否有快速的方法 - 除了遍历表单 - disable
输入字段?
将字段设置为 writable=False
显示数据但不显示在输入字段中。
像 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
中设置字段的值)。