Hi, You have to find what is failing on the client side. If a submit action refreshes the whole page, this means that the zone has not been initialized. So i guess firebug or any other tool should help you.
Also, you may use class="t-zone-update" on the element that must be refreshed by the zone, the structure will look like this : <t:zone> <t:form></t:form> <div class="t-zone-update"> </div> </t:zone> Regards, Christophe Developer of wooki @wookicentral.com 2010/2/1 lebenski <be...@gamesys.co.uk> > > Yes, this is what I have: > > <t:form t:id="pickCommentForm" context="draftPick" t:zone="prop:zoneId"> > <t:zone t:id="otherCommentsZone" id="prop:zoneId"> > > public String getZoneId() { > return draftPick.getPackNumber() + "_" + > draftPick.getPickNumber() + > "Zone"; > } > > Giving all of my zones id's like this 1_7Zone > > > I've also tried removing the t: prefix from the zone parameter, this seems > to make no difference. > > > Ulrich Stärk wrote: > > > > Normally that happens when zone and form aren't set up correctly on the > > client side, e.g. due to > > inconsistent IDs. > > > > Did you try as Christophe suggested? Replace t:zone="${zoneId}" with > > t:zone="prop:zoneId" (same for > > the id parameter of zone). Does that help? > > > > Uli > > > > On 01.02.2010 12:15 schrieb lebenski: > >> > >> Ah! this seems to have got to the root of the problem. Request.isXHR() > >> is > >> returning false. I understand that this method is looking for the > >> presence > >> of an Http Header called X-Requested-With with the value XMLHttpRequest. > >> Snooping the request I notice that this has not been set. How does this > >> header get set, and what in my example could cause this not to be > getting > >> set? > >> > >> > >> Ulrich Stärk wrote: > >>> > >>> You should @InjectComponent private Zone otherCommentsZone and return > >>> otherCommentsZone.getBody() > >>> from your onSuccess handler method after checking whether this is a XHR > >>> request (@Inject Request and > >>> do request.isXHR()). > >>> > >>> Uli > >>> > >>> On 01.02.2010 09:29 schrieb lebenski: > >>>> > >>>> I have a loop that contains a form and a zone. In each iteration of > >>>> the > >>>> loop, submission of that form should update it's relevant zone: > >>>> > >>>> <t:loop source="draft.draftPicks" value="draftPick" volatile="true"> > >>>> <t:form t:id="pickCommentForm" context="draftPick" > >>>> t:zone="${zoneId}"> > >>>> ... > >>>> <t:submit/> > >>>> </t:form> > >>>> <t:zone t:id="otherCommentsZone" id="${zoneId}"> > >>>> <div class="otherCommentsBody"> > >>>> ... > >>>> </div> > >>>> </t:zone> > >>>> </t:loop> > >>>> > >>>> Object onSuccessFromPickCommentForm(DraftPick draftPick) { > >>>> createPickComment(draft.get(draftPick.getPackNumber(), > >>>> draftPick.getPickNumber())); > >>>> > >>>> loadDraft(); > >>>> > >>>> return otherCommentsZone; > >>>> } > >>>> > >>>> So i'm binding the zone parameter of the form to the generated client > >>>> id > >>>> (not the component id) as suggested in the documentation here: > >>>> > >>>> > http://tapestry.apache.org/tapestry5/tapestry-core/ref/org/apache/tapestry5/corelib/components/Zone.html > >>>> > >>>> After I submit the form the page refreshes rather that updating the > >>>> zone. > >>>> The loop runs 45 times so I end up with 45 micro forms and 45 zones on > >>>> my > >>>> page. Can anyone see what I'm doing wrong here? > >>> > >>> --------------------------------------------------------------------- > >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > >>> For additional commands, e-mail: users-h...@tapestry.apache.org > >>> > >>> > >>> > >> > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > > > > > -- > View this message in context: > http://old.nabble.com/-T5--Form-and-Zone-inside-a-loop-tp27400993p27403412.html > Sent from the Tapestry - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >