1

我使用 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()并编写了一个函数来导出列表中的行,但出现此错误:

不允许值

4

1 回答 1

2

更改克隆对象的 ID 是不够的,您还需要更改 name 属性。如果您保持名称相同,则在发布表单时它将覆盖具有相同名称的原始字段。

于 2012-04-21T13:17:50.057 回答