2012-04-21 4 views
1

J'ai utilisé jQuery pour cloner un champ dans un formulaire.Web2py jQuery clone

$('#table_catalogues') 
    .clone() 
    .attr('id','table_catalogues_'+i2l) 
    .appendTo('#table_invoices_catalogues__row') 

Mais web2py ne crée pas ces champs, vous ne pouvez pas les voir dans la source et quand les données sont envoyées je trouve par exemple:

form.vars.catalogues = [1,2,3] 

En fait, je trouve que le bien, mais ayant ce

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' 
), 

me cause des problèmes. Lors de l'envoi du formulaire, je reçois toujours cette erreur:

Value is not in Database

J'ai essayé d'utiliser IS_IN_SET() et écrit une fonction pour exporter des lignes dans une liste, mais je reçois cette erreur:

Value is not allowed

Répondre

2

Modification de l'ID de un objet cloné ne suffit pas, vous devez également modifier la propriété name. Si vous gardez le même nom, il remplacera le champ d'origine avec le même nom lorsque le formulaire est posté.