[Seaside] embedded component problem
renggli at gmail.com
Sun Dec 28 14:37:42 UTC 2008
As far as I see you have multiple forms on your page. When you upload
a file you only submit the form with the file and thus loose the
contents of the other form. This is the standard behavior of HTTP and
You could use #triggerForm: with the updater to submit the other form
to the server. Look for senders of this message to see how it is used.
On 12/28/08, christian ponti <pontichristian at gmail.com> wrote:
> Hi all,
> i have always the same issue in different projects:
> a component (collectionComponent) render a page divided in two, a box on the
> left with some button and a list of items, a box on the right which is
> basically an id to update with an embedded component (cardComponent).
> With a (new card) button on the left, the application calls cardComponent
> wich appears correctly on the right box. The cardComponent is nothing more
> then a bunch of input text, an upload file form and two buttons (save and
> The following two methods are defined in collectionComponent:
> renderNewCardButtonOn: html
> (html button)
> ((html updater)
> id: 'cards';
> callback: [:r | r render: (self cardComponent:
> OLCard new)];
> evalScripts: true);
> text: 'N'
> cardComponent: aCard
> cardComponent isNil
> [cardComponent := OLCardComponent new.
> card: aCard;
> collection: self collection]
> card: aCard;
> collection: self collection].
> This is the part that manages the file uploading inside cardComponent.
> renderImageFileUploadOn: html
> tableData: 'Copertina';
> [(html form)
> [html fileUpload callback: [:f |
> coverFile := f].
> html break.
> html submitButton text:
> When I hit the upload file button the form disappears instead of letting the
> user save the model.
> My question: it is possible to have such behaviour or when i use an embedded
> component (via a JS update) i should expect only to be able to render it?
More information about the seaside