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 に答える