我使用jQuery在表单中克隆字段。
$('#table_catalogues')
.clone()
.attr('id','table_catalogues_'+i2l)
.appendTo('#table_invoices_catalogues__row')
但是web2py不会创建这些字段,您无法在源代码中看到它们
当发送数据时,我发现例如:
form.vars.catalogues = [1,2,3]
其实我觉得很好,但是有了这个
Field(
'catalogues',
db.catalogues,
requires=IS_IN_DB(db(db.catalogues.user_id==auth.user_id)(db.catalogues.useable==True),
'catalogues.id',
'%(catalogue_name)s'
),
给我带来麻烦。发送表格时,我总是会收到此错误:
值不在数据库中
我尝试使用
IS_IN_SET()
并编写了一个函数来导出列表中的行,但出现此错误:不允许值
最佳答案
仅更改克隆对象的ID是不够的,您还需要更改name属性。如果您保留相同的名称,则在发布表单时,它将使用相同的名称覆盖原始字段。