You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Otho <ta...@googlemail.com> on 2009/02/13 00:58:45 UTC

[T5] ck/TabSet inside a form.

I have a Tabset in a form like this:

<form t:type="form" t:id="productDetailsForm">
        <div t:type="ck/TabSet" panelIds="prop:blockIds"
activePanelId="activeBlock"/>
        <t:submit/>
 </form>

I have three tabs in blocks. The first holds some formcontrols already, the
other two are placeholder. The goal is to submit formdata from all tabs at
once.

What happens is the following: On page load the first tab is shown as
expected, i can fill in or alter the data and submit. Changes get persisted
and everything is fine. But when I change to another tab and go back to the
first one I get an

org.apache.tapestry5.ioc.internal.util.TapestryException: The Textfield
component must be enclosed by a Form component.

So I assume that Tapestry somehow loses the notion of the TabSet being
inside a form on changing Tabs.

Am I doing something wrong or is this a bug inside TabSet?

Re: [T5] ck/TabSet inside a form.

Posted by jo...@progs.be.
Hi Otho,

This is a limitation of the tapestry ajax stuff. A block should either
contain an entire form or no form elements. 

You should either have individuals forms for each tab, or use a tabset which
does not rely on ajax to get the context of each tab. One such option is the
equanda-tapestry5 tabs component.

Kind regards,
Joachim



Otho <ta...@googlemail.com> schreef:

> I have a Tabset in a form like this:
> 
> <form t:type="form" t:id="productDetailsForm">
>         <div t:type="ck/TabSet" panelIds="prop:blockIds"
> activePanelId="activeBlock"/>
>         <t:submit/>
>  </form>
> 
> I have three tabs in blocks. The first holds some formcontrols already, the
> other two are placeholder. The goal is to submit formdata from all tabs at
> once.
> 
> What happens is the following: On page load the first tab is shown as
> expected, i can fill in or alter the data and submit. Changes get persisted
> and everything is fine. But when I change to another tab and go back to the
> first one I get an
> 
> org.apache.tapestry5.ioc.internal.util.TapestryException: The Textfield
> component must be enclosed by a Form component.
> 
> So I assume that Tapestry somehow loses the notion of the TabSet being
> inside a form on changing Tabs.
> 
> Am I doing something wrong or is this a bug inside TabSet?
> 




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: [T5] ck/TabSet inside a form.

Posted by Otho <ta...@googlemail.com>.
Thanks for the tip. I planned to look at equanda a little later anyways,
since I'll very probably need the keyboard navigation features. So I might
as well do it now.

Regards,
Otho

2009/2/13 <jo...@progs.be>

> Hi Otho,
>
> This is a limitation of the tapestry ajax stuff. A block should either
> contain an entire form or no form elements.
>
> You should either have individuals forms for each tab, or use a tabset
> which
> does not rely on ajax to get the context of each tab. One such option is
> the
> equanda-tapestry5 tabs component.
>
> Kind regards,
> Joachim
>
>
>
> Otho <ta...@googlemail.com> schreef:
>
> > I have a Tabset in a form like this:
> >
> > <form t:type="form" t:id="productDetailsForm">
> >         <div t:type="ck/TabSet" panelIds="prop:blockIds"
> > activePanelId="activeBlock"/>
> >         <t:submit/>
> >  </form>
> >
> > I have three tabs in blocks. The first holds some formcontrols already,
> the
> > other two are placeholder. The goal is to submit formdata from all tabs
> at
> > once.
> >
> > What happens is the following: On page load the first tab is shown as
> > expected, i can fill in or alter the data and submit. Changes get
> persisted
> > and everything is fine. But when I change to another tab and go back to
> the
> > first one I get an
> >
> > org.apache.tapestry5.ioc.internal.util.TapestryException: The Textfield
> > component must be enclosed by a Form component.
> >
> > So I assume that Tapestry somehow loses the notion of the TabSet being
> > inside a form on changing Tabs.
> >
> > Am I doing something wrong or is this a bug inside TabSet?
> >
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>